385
Bearbeitungen
Änderungen
keine Bearbeitungszusammenfassung
<br style="clear: left;">
== Konfiguration ==
Starte SourceTree.
=== Bookmarks ===
Die Bookmarksansicht ist selten notwendig. Ihr könnt diese über das View Menü verstecken.
=== Merge Tool ===
# Öffne Tools->Options
# Wechsle in den Tab "Diff"
# Bei "External Diff Tool" und bei "Merge Tool" wähle "P4Merge"
== Clone des Repositories ==
# Klick auf den Button "Clone / New"
# Im Tab "Clone Repository" wähle:
* URL: https://github.com/Lusito/GameDevWeek.git
* Destination Path: Ein Ort wo ihr den Code speichern wollt.
* Bookmark könnt ihr wählen, müsst ihr aber nicht.
# Es wird nun alles heruntergeladen. Dies kann etwas dauern.
== Normaler Git Workflow ==
=== Einen entfernten Branch auschecken ===
* In der Baumstruktur Links gibt es einen Bereich "Remotes" mit dem Kind "Origin"
* Hier sind alle Branches gelistet, die im Github Repository zu finden sind.
* Im Kontextmenü der Branches kann gewählt werden "Checkout ..."
* Im folgenden Popup können die Standardeinstellungen beibehalten werden.
* Nun habt ihr den Branch lokal verfügbar und könnt jederzeit zu diesem Wechseln.
* Der Branch wird nach Checkout automatisch ausgewählt.
=== Änderungen Stagen ===
* Wenn Änderungen vorhanden sind, erscheinen diese in der Branch Ansicht als oberster Eintrag "Uncommitted changes".
** Zur Branch Ansicht wechselt man indem man in der Baumstruktur Links den aktiven Branch wählt.
* Wird dieser Eintrag ausgewählt, kann man im unteren Teil sehen, welche Änderungen erkannt wurden.
* Im linken unteren Teil sind zwei Bereiche "Staged files" und "Unstaged files".
* Diese stellen die Staging Area und die sonstigen Änderungen dar.
* Via Drag & Drop oder mit dem Setzen der Haken können Dateien zwischen den Bereichen gewechselt werden.
* Wählt man eine einzelne Datei, kann auf der rechten Seite gesehen werden, welche Änderungen dies beinhaltet.
* Hier können auch einzelne Codeschnipsel zur Staging Area hinzugefügt werden.
=== Änderungen Stashen ===
Solltet ihr Änderungen durchgeführt haben, die ihr nicht committen wollt, so könnt ihr diese auslagern und später wieder zurückführen. Dies nennt sich bei Git Stashen.
# Warnung: Beim Stashen werden alle Änderungen (Staged und Unstaged) zu einem Stash hinzugefügt. Beim wiederherstellen, erscheinen diese Änderungen alle als Unstaged.
# Dazu klickt man auf den Button "Stash" in der Toolbar und vergibt einen Namen.
# Nun erscheint Links in der Baumstruktur ein neuer Eintrag im Knoten "Stashes".
#* Mit dessen Kontextmenü können die Änderungen zurück gespielt werden.
=== Änderungen Committen ===
# Wechsel in die Commit Ansicht mit dem Button "Commit" in der Toolbar.# Links sind wie bekannt Staged und Unstaged Änderungen zu sehen.# Diese können hier noch einmal angepasst werden.# Unten erscheint ein Kommentar Feld. Hier sollte kurz beschrieben werden, was der Commit ändert.# Der Haken "Push changes.." sollte nicht gewählt werden.# Mit einem Klick auf "Commit" beim Kommentarfeld wird der Commit gespeichert.#* Diese Änderungen sind vorerst noch Lokal! === Externe Änderungen ziehen: Pull (Fetch & Merge ) ===Bevor die Änderungen auf den Server geschoben werden können, müssen erst Updates vom Server gezogen werden und ggf. mit dem eigenen Code gemerged werden.# Wähle den Button "Pull" in der Toolbar# Hier können die Standardeinstellungen übernommen werden.# Git versucht alle Änderungen automatisch zu mergen. Sollte dies nicht funktionieren erscheint eine Fehlermeldung.# Bei einem Konflikt muss manuell gemerged werden. ===Konflikte beheben / Dateien Mergen === # Ist ein Konflikt beim Mergen entstanden, so wird dies in der Statusleiste angezeigt.# Um diesen zu beheben wechselnt man in die Branch Ansicht und dort in den ersten Eintrag "Uncommitted changes".# Hier erscheinen im Bereich "Unstaged files" alle Dateien die Konflikte haben.# Für Jede Datei gehe wie folgt vor:## Öffne das Kontextmenü der Datei.## Wähle "Resolve Conflicts->Launch External Merge Tool".## P4Merge wird nun gestartet. Man sieht 3 Dateien nebeneinander und eine darunter.##* In der Mitte ist die Basis Datei zu sehen##* Links sind die lokalen Änderungen zu sehen##* Rechts sind externe Änderungen zu sehen##* Unten ist die finale Version zu sehen.## P4Merge versucht soweit es geht eine Vorauswahl zu treffen.##* Diese sollte dennoch auf Korrektheit überprüft werden.## Im Unterren Bereich sieht man nun welche Änderungen übernommen werden.## Auf der Rechten Seite gibt es die Möglichkeit, zu wählen ob Zeilen der Basisdatei, der Lokalen Datei oder der externen Datei genommen werden sollen.##* Man kann auch mehrere Wählen indem man Shift gedrückt hält##* Es ist auch möglich die Änderungen manuell durch zu führen.## Sind alle Änderungen vollzogen, kann P4Merge geschlossen werden (speichern nicht vergessen)## Danach bleibt eine Datei übrig: dateiname.orig. Diese kann gelöscht werden falls nicht weiter benötigt.# Sind alle Konflikte behoben, kann in die "Commit" Ansicht gewechselt werden, um die behobenen Konflikte zu committen.
=== Änderungen zum Server pushen ===
# Vor dem pushen immer sicherstellen, dass man auf dem aktuellsten Stand ist (siehe Pull)
# Pushen kann man auf zwei Varianten:
#* Über den "Push" Button der Toolbar. Dieser wählt allerdings alle Branches aus. Dies ist nicht zu empfehlen. Wählt hier nur den Branch aus, den ihr wirklich pushen wollt.
#* Über das Kontextmenü des Branches ("Push to origin/..."). Dies wählt nur den jeweiligen Branch aus.
== GitFlow ==
=== Feature erstellen ===
=== Feature fertigstellen ===