Git: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
K Änderungen von Dietsch (Diskussion) wurden auf die letzte Version von Vogty zurückgesetzt Markierung: Zurücksetzung |
|||
| Zeile 4: | Zeile 4: | ||
* Gemeinsames Arbeiten auf der selben Datenbasis zu ermöglichen. | * Gemeinsames Arbeiten auf der selben Datenbasis zu ermöglichen. | ||
Wir verwenden Git im | Wir verwenden Git im Sopra um genau diese Punkte zu ermöglichen. Jede Gruppe erhält ihr eigenes [[#Repository|Repository]] auf [[Gitea]] (einer Plattform ähnlich zu [https://de.wikipedia.org/wiki/GitHub GitHub]), um ihr Projekt zu verwalten. | ||
__TOC__ | __TOC__ | ||
| Zeile 55: | Zeile 55: | ||
=== Remote === | === Remote === | ||
Remote ist die Bezeichnung für ein Repository, das zur Synchronisierung verwendet wird. Meistens ist dies auf einem externen Server und benötigt eine Authentifizierungsmethode um von diesem Änderungen zu holen (fetch) oder Änderungen hochzuladen (push). Im | Remote ist die Bezeichnung für ein Repository, das zur Synchronisierung verwendet wird. Meistens ist dies auf einem externen Server und benötigt eine Authentifizierungsmethode um von diesem Änderungen zu holen (fetch) oder Änderungen hochzuladen (push). Im SOPRA verwendet jede Gruppe dazu ein eigenes auf [[Gitea|SOPRA Gitea]] gehostetes Repository. | ||
=== HEAD === | === HEAD === | ||
| Zeile 81: | Zeile 81: | ||
git config --global user.name "Jane Doe" | git config --global user.name "Jane Doe" | ||
'''Hinweis''': Seiten wie GitHub oder auch | '''Hinweis''': Seiten wie GitHub oder auch das SoPra [[Gitea]] verwenden die Emailadresse um den Commit einem Benutzer zuzuordnen, die eingestellten Emailadressen sollten also übereinstimmen. | ||
== Repository erstellen == | == Repository erstellen == | ||
| Zeile 93: | Zeile 93: | ||
== Repository klonen == | == Repository klonen == | ||
Um ein bestehendes Repository in einen Ordner zu klonen benutzt man den clone Befehl: | |||
Um ein bestehendes Repository in einen Ordner zu klonen benutzt man den | |||
git clone https://sopragit.informatik.uni-freiburg.de/<semester>/<gruppe>.git | |||
Bzw. für die Authentifizierung mit SSH ist der äquivalente Befehl | |||
git clone gitea@ | git clone gitea@sopragit.informatik.uni-freiburg.de:<gruppe>/<gruppe>.git | ||
Der Befehl <code>clone</code> legt eine exakte Kopie der gesamten Repositorydaten auf der lokalen Maschine ab. | Der Befehl <code>clone</code> legt eine exakte Kopie der gesamten Repositorydaten auf der lokalen Maschine ab. | ||
| Zeile 202: | Zeile 199: | ||
=== Mit mehreren Branches arbeiten === | === Mit mehreren Branches arbeiten === | ||
Im | Im SOPRA verwenden wir hauptsächlich 2 Branches (siehe [[GitWorkflow| Git Workflow im Sopra]]). | ||
* '''release''' => Hier ist der aktuelle Stand des Projekts in lauffähigem Zustand mit fertig implementierten Tasks. Dieser Branch ist Grundlage für die Bewertung des Spiels und Abgabe von Artefakten. Dieser Branch muss zu jeder Zeit ein kompillier- und lauffähiges Spiel darstellen. | * '''release''' => Hier ist der aktuelle Stand des Projekts in lauffähigem Zustand mit fertig implementierten Tasks. Dieser Branch ist Grundlage für die Bewertung des Spiels und Abgabe von Artefakten. Dieser Branch muss zu jeder Zeit ein kompillier- und lauffähiges Spiel darstellen. | ||
* '''master''' => Hier werden die Tasks entwickelt. Sie müssen nicht zwangsläufig fertig sein, aber der master Branch soll zu jeder Zeit kompillieren und laufen. | * '''master''' => Hier werden die Tasks entwickelt. Sie müssen nicht zwangsläufig fertig sein, aber der master Branch soll zu jeder Zeit kompillieren und laufen. | ||
| Zeile 269: | Zeile 266: | ||
Hat man die Konflikte in dem Tool behoben, fügt Git die Dateien automatisch zur Stage hinzu, so dass man nur noch den merge Commit machen muss. | Hat man die Konflikte in dem Tool behoben, fügt Git die Dateien automatisch zur Stage hinzu, so dass man nur noch den merge Commit machen muss. | ||
= Git | = Git Installieren = | ||
Es gibt unzählige Git Clients. Empfehlenswert ist vor allem für den Einstieg [https://git-scm.com/downloads | Es gibt unzählige Git Clients. Empfehlenswert ist vor allem für den Einstieg [https://git-scm.com/downloads Der offizielle Git client]. Wer gerne ein graphisches Interface hat, kann [https://tortoisegit.org/ tortoisegit] oder eine der [https://git-scm.com/downloads/guis zahlreichen Alternativen] verwenden. | ||
== Git für das | == Git für das SOPRA vorbereiten == | ||
Nachdem Sie sich für einen Git-Client entschieden haben, müssen Sie sicherstellen: | Nachdem Sie sich für einen Git-Client entschieden haben, müssen Sie sicherstellen: | ||
* Dass ihr [[Gitea|Zugang zu Gitea]] funktioniert. | * Dass ihr [[Gitea|Zugang zu Gitea]] funktioniert. | ||
* Das Repository Ihrer Gruppe auf ihren [[#Repository | * Das Repository Ihrer Gruppe auf ihren [[#Repository clonen|Rechner klonen]]. | ||
* Ihren [[#Name und Email einstellen|Namen und die Email]] Adresse Git mitteilen. | * Ihren [[#Name und Email einstellen|Namen und die Email]] Adresse Git mitteilen. | ||
* Stellen Sie sicher, dass eine <code>.gitignore</code> Datei mit den Regeln in der unter [[#Dateien Ignorieren|Dateien Ignorieren]] gegebenen Tabelle in ihrem Gruppenrepository im master Branch existiert. | * Stellen Sie sicher, dass eine <code>.gitignore</code> Datei mit den Regeln in der unter [[#Dateien Ignorieren|Dateien Ignorieren]] gegebenen Tabelle in ihrem Gruppenrepository im master Branch existiert. | ||
== Git und Gitea == | == Git und Gitea == | ||
