7
edits
Line 248: | Line 248: | ||
Es öffnet sich ein Editor-Fenster, welches es Dir ermöglicht eine Nachricht zu Deinem Commit zu hinterlassen. Beachte, dass dieser Commit ausschließlich lokal erfolgt und nicht an das FGAddon-Repository auf SourceForge geschickt wird. | Es öffnet sich ein Editor-Fenster, welches es Dir ermöglicht eine Nachricht zu Deinem Commit zu hinterlassen. Beachte, dass dieser Commit ausschließlich lokal erfolgt und nicht an das FGAddon-Repository auf SourceForge geschickt wird. | ||
==== | ==== Dezidierte FGAddon Branch ==== | ||
In | In unserem obigen Beispiel haben wir angenommen, dass sich lediglich eine einzelne Branch im dem Repository befindet. Soll eine Interaktion mit dem Remote-Git-Repositorium oder ein Branching innerhalb des lokalen Repos erfolgen, dann ist ein anderes Vorgehen erforderlich. Der Grund dafür ist, das eine Branch die mit FGAddon synchronisiert werden soll eine lineare Historie aufweisen muss. Mehr Informationen dazu findet man zum Beispiel hier (Englisch): [https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion#git-svn preserve a linear history]. Das bedeutet im Einzelnen, dass nur das sogenannte "Cherry-Picking" von gewünschten Änderungen in die Branch erlaubt ist. | ||
In diesem Beispiel werden zwei Branches als lokales git Repositorium eingerichtet: | |||
* <code>fgaddon</code>: Diese Branch wird ausschließlich der Synchronisation mit FGAddon dienen und wird eine lineare Historie beibehalten. | |||
* <code>master</code>: Eine Master-Branch für die Flugzeugentwicklung. Sie ermöglicht Merger und andere nicht linerare Operationen, die in der obigen Branch nicht möglich sind, da eine linearer Verlauf beibehalten werden muss. | |||
Gehen wir von einem [[#Cloning_a_single_aircraft|neu geklonten Repositorium]] aus, dann kann man die <code>fgaddon</code> Branch mit dem folgenden Kommando erstellen: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git branch fgaddon | git branch fgaddon | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Der Wechsel zu dieser neuen Branch erfolgt mit: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git checkout fgaddon | git checkout fgaddon | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Die Synchronisation mit FGAddon kann über diese Branch erfolgen. Um neue Entwicklungsfortschritte von der Master Branch zu pullen, kannst Du "Cherry-Picking" nutzen, um eine sequentiell geordnete Liste von Commit-Hashes zu senden: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git cherry-pick <commit hash 1> | git cherry-pick <commit hash 1> | ||
Line 273: | Line 274: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Um eine Liste der Commits zu sehen, die an FGAddon geschickt werden, bevor der tatsächliche Commit ausgeführt wird, kannst Du dieses Kommando nutzen: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git log git-svn..HEAD | git log git-svn..HEAD | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Und um die Änderungen in einer einzelnen diff zu sehen, schreibst Du: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git diff git-svn..HEAD | git diff git-svn..HEAD |
edits