Hauptmenü öffnen

/dev/null β

Änderungen

GameDevWeek/SourceTree

1.744 Bytes hinzugefügt, 22:31, 8. Mär. 2016
keine Bearbeitungszusammenfassung
== Vorbereitung ==
[[Datei:P4merge install.png|300px|miniatur|rechts|Lediglich P4Merge muss installiert werden.]]# Installiere [http://www.sourcetreeapp.com/ SourceTree]installieren# Installiere [httphttps://www.perforce.com/downloadsproduct/components/20perforce-visual-merge-User?qtand-perforce_downloads_step_3=1#productdiff-10 tools P4Merge]installieren
#* Bei der Installation muss lediglich der Haken bei P4Merge gesetzt werden.. alle anderen Tools sind nicht notwendig.
# Erstelle einen Ein [https://github.com/ GitHub Account]muss erstellt werden, falls nicht vorhanden.<br style="clear: both"/>
=== Bookmarks Verstecken ===
Die Bookmarks Ansicht in SourceTree ist selten notwendig. Ihr könnt diese Diese kann über das View Menü versteckenversteckt werden.
=== Username & Email konfigurieren ===
# Starte In SourceTree.# Öffne die Optionen öffnen (Tools->Options)# Wechsle in den Den Tab "General"wählen
# Full Name erscheint als solches in Github.
# Email muss der Github Email entsprechen.
=== Merge Tool konfigurieren ===
# Starte In SourceTree.# Öffne die Optionen öffnen (Tools->Options)# Wechsle in den Den Tab "Diff"wählen# Bei "P4Merge" muss als Option bei "External Diff Tool" und bei "Merge Tool" wähle gewählt sein. === P4Merge konfigurieren === # P4Merge Starten# 2 Text-Dateien zum Öffnen wählen, egal welche.#* Diese werden lediglich benötigt um in die Hauptansicht des Programms zu kommen.# Im Menü Edit->Preferences wählen.# In der Sektion "Text Format" die Option "Insert spaces for tabs" wählen.#* Und falls nicht gesetzt, "Tab spacing" auf 4 stellen.# In der Sektion "File Format" das "Character encoding" auf "P4MergeUnicode (UTF-8, no BOM)"stellen.# Einstellungen speichern und Programm beenden.
== Clone Klonen des Repositories ==[[Datei:sourcetree_clone.png|300px|miniatur|rechts|Klonen eines Repositories.]]# Klick auf In der Toolbar den Button "Clone / New"benutzen.# Im Tab "Clone Repository" wählefolgende Konfiguration setzen:#* URL: https://github.com/LusitoGameDevWeek/GameDevWeekCodeBase.git#* Destination Path: Ein Ort wo ihr den der Code speichern wolltgespeichert werden soll.#* Bookmark könnt ihr wählenWenn Bookmarks nicht von Interesse sind, müsst ihr aber nichtkann der Haken abgeschaltet werden.
# Es wird nun alles heruntergeladen. Dies kann etwas dauern.
<br style="clear: both"/>
== Normaler Git Workflow ==
=== Einen entfernten Branch auschecken ===
[[Datei:sourcetree_checkout.png|300px|miniatur|rechts|Klonen eines Repositories.]]* In der Baumstruktur Links gibt es einen Bereich "Remotes" mit dem Kind Knoten "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 ist der Branch lokal verfügbar und könnt man kann jederzeit zu diesem Wechseln.
* Der Branch wird nach Checkout automatisch ausgewählt.
 
Führt diese Schritte für den Branch "develop" aus.
<br style="clear: both"/>
=== Änderungen Stagen ===
[[Datei:sourcetree_branch_view.png|300px|miniatur|rechts|Branch Ansicht, Staged und Unstaged Files.]]
* 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.
* 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.
<br style="clear: both"/>
=== Änderungen Stashen ===
Solltet ihr [[Datei:sourcetree_stash_context.png|300px|miniatur|rechts|Stash Einträge.]]Sollten Änderungen durchgeführt habenvorhanden sein, die ihr nicht committen wolltcommittet werden sollen, so könnt ihr können diese auslagern ausgelagert und später wieder zurückführenzurückgeführt werden. 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.
<br style="clear: both"/>
=== Änderungen Committen ===
[[Datei:sourcetree_commit.png|300px|miniatur|rechts|Committen.]]
# Wechsel in die Commit Ansicht mit dem Button "Commit" in der Toolbar.
# Links sind wie bekannt Staged und Unstaged Änderungen zu sehen.
# Mit einem Klick auf "Commit" beim Kommentarfeld wird der Commit gespeichert.
#* Diese Änderungen sind vorerst noch Lokal!
<br style="clear: both"/>
=== Externe Änderungen ziehen: Pull (Fetch & Merge) ===
[[Datei:sourcetree_pull.png|300px|miniatur|rechts|Pullen.]]
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 Den Button "Pull" in der Toolbarbenutzen
# 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.
<br style="clear: both"/>
=== Konflikte beheben / Dateien Mergen ===
# 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 wird wie folgt vorvorgegangen:## Öffne das Das Kontextmenü der Dateiöffnen.## Wähle "Resolve Conflicts->Launch External Merge Tool"wählen.
## P4Merge wird nun gestartet. Man sieht 3 Dateien nebeneinander und eine darunter.
##* In der Mitte ist die Basis Datei zu sehen
## 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 sicherstellenist sicher zu stellen, 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 Hier sollte nur den der Branch ausausgewählt sein, den ihr wirklich pushen wolltder auch gepushed werden soll.
#* Über das Kontextmenü des Branches ("Push to origin/..."). Dies wählt nur den jeweiligen Branch aus.
== GitFlow ==
In SourceTree gibt es eine Möglichkeit das erstellen von Feature Branches etwas komfortabler zu gestalten. Dabei wird der [https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow GitFlow Workflow] genutzt. Lest euch die Beschreibung nach Möglichkeit kurz durch.
Ein kurzes Video, was alles wichtige erklärt ist hier zu finden: [http://buildamodule.com/video/change-management-and-version-control-deploying-releases-features-and-fixes-with-git-how-to-use-a-scalable-git-branching-model-called-gitflow How to use a scalable Git branching model called Gitflow] Wie dies In SourceTree zu benutzen ist, ist in diesem Video schnell erklärt:
{{#ev:youtube|1lSdqrs2f5c|650x500}}
 
[[Kategorie:GameDevWeek]]
385
Bearbeitungen