Beispiel für einen Git-Branchingworkflow
Sie müssen natürlich eine Branchingstrategie entwickeln, die für Ihr Team am besten geeignet ist. Hier ein kurzes Beispiel für einen Arbeitsablauf mit zwei Arten von Branching: ein Entwicklungs-/Integrations-Branching und ein Funktions-/Themen-Branching.
Angenommen, Sie arbeiten gerade an einem neuen Feature, als jemand einen Fehler in der Produktion entdeckt, und Sie müssen diesen Fehler parallel zur Arbeit am neuen Feature beheben.

Bevor Sie mit der Fehlerbehebung beginnen, erstellen Sie einen neuen Branch aus dem Entwicklungs-Branch. Dieser neue Branch isoliert die Fehlerbehebung vom neuen Feature, an dem Sie gearbeitet haben.

Wenn Sie bereit sind, die Fehlerbehebung zu veröffentlichen, führen Sie den Feature-Branch der Fehlerbehebung mit dem Entwicklungs-Branch zusammen.

Dann wechseln Sie zurück zu Ihrem ursprünglichen Feature-Branch und arbeiten weiter an der neuen Funktion.

Im Feature-Branch stellen Sie fest, dass Commit „X“, der Bugfix-Commit, benötigt wird, um mit der Implementierung des neuen Features fortzufahren. Mit anderen Worten: Sie müssen Ihren aktuellen Branch mit den Änderungen im Entwicklungs-Branch synchronisieren.
Es gibt zwei Möglichkeiten, dies zu tun: Die erste ist, den Entwicklungs-Branch, der den Commit „X“ enthält, mit dem aktuellen Branch zusammenzuführen; die zweite Möglichkeit ist, den aktuellen Branch auf den Entwicklungs-Branch zurückzusetzen, der den Commit „X“ enthält.
In diesem Beispiel verwenden Sie den Rebasing-Ansatz.

Sobald Sie „X“ in Ihrer aktuellen Arbeitsbaumstruktur haben, können Sie wieder problemlos mit der Arbeit an dem neuen Feature beginnen.