De/FGAddon: Difference between revisions

Jump to navigation Jump to search
573 bytes added ,  4 September 2018
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.  


==== Dedicated FGAddon branch ====
==== Dezidierte FGAddon Branch ====
In the examples above, only a single branch was assumed in the repository.  If interaction with a remote git repository or branching within the local git repository is desired, then a different strategy is required.  The reason being that the branch that synchronises with FGAddon must [https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion#git-svn preserve a linear history].  This means only cherry-picking of the desired changes into that branch is allowed.


In this example, two branches will be set up in the local git repository:
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.  
* <code>fgaddon</code>:  This branch will be dedicated for FGAddon synchronisation and will preserve a linear history.
* <code>master</code>:  A master branch for aircraft development, allowing for mergers and other non-linear history operations.


Assuming a [[#Cloning_a_single_aircraft|newly cloned repository]], create the <code>fgaddon</code> branch with:
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>


And switch to that branch:
Der Wechsel zu dieser neuen Branch erfolgt mit:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git checkout fgaddon
git checkout fgaddon
</syntaxhighlight>
</syntaxhighlight>


The FGAddon synchronisation can then be performed on this branch. To pull in the developments from the master branch, use cherry-picking to apply a sequentially ordered list of commit hashes:
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>


To see the list of commits to be sent to FGAddon prior to dcommitting, type:
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>


And to see the changes as a single diff:
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
7

edits

Navigation menu