Git/Script/04_Branches.md

3.0 KiB
Raw Blame History

Branches

Was sind Branches?

Branches (Zweige) ermöglichen es, parallel zur Hauptentwicklungslinie (z.B. main) zu arbeiten, ohne diese direkt zu beeinflussen. Sie sind ideal, um neue Features zu entwickeln, Fehler zu beheben oder alternative Ideen auszuprobieren.

Es ist möglich jederzeit zwischen verschiedenen Branches wechseln und später Änderungen zusammenführen. Oft folgt die Branch-Struktur einem bewährten Modell:Es gibt einen main-Branch, der den stabilen, produktionsreifen Stand des Projekts enthält. Daneben existiert ein dev- oder develop-Branch, auf dem aktiv entwickelt wird. Alle neuen Feature-Branches werden zunächst in diesen Entwicklungs-Branch gemerged. Sobald der dev-Branch einen stabilen und fehlerfreien Zustand erreicht hat, wird er in den main-Branch übernommen.

Wofür verwendet man Branches?

  • Feature-Entwicklung: Für neue Funktionen ohne Risiko für den Hauptcode
  • Bugfixes: Fehlerbehebungen getrennt vom Hauptbranch
  • Experimente: Neue Ideen ausprobieren, ohne das Hauptprojekt zu gefährden
  • Main-Branch: Einen Funktionsfähigen und getetesten branch

Branch erstellen

Ein neuer Branch wird mit folgendem Befehl erstellt:

git branch neuer-branchname

In einen Branch wechseln

Um in einen Branch zu wechseln:

git switch neuer-branchname

Branch erstellen und direkt wechseln:

git switch -c neuer-branchname

Änderungen zusammenführen (Merge)

Wenn ein Branch fertig ist, kann er in einen anderen Branch (z.B. main) gemerged werden (man muss ich auf dem branch befinden in den der andere branch gemerged werden soll):

git checkout main
git merge neuer-branchname

Konflikte beim Merge

Wenn zwei Branches dieselben Zeilen einer Datei geändert haben, entsteht ein Merge-Konflikt. Git zeigt diese Konflikte in der Datei selbst an, und du musst sie manuell auflösen, bevor du committen kannst.

Branch löschen (optional)

Nach dem Merge kann der Branch gelöscht werden:

git branch -d neuer-branchname

Git Merge-Konflikte verstehen und lösen

Merge-Konflikte entstehen, wenn zwei Branches dieselben Zeilen in einer Datei unterschiedlich verändert haben. Git kann diese Konflikte nicht automatisch auflösen das musst du manuell machen.


1. Konflikt erkennen

Nach einem Merge-Versuch zeigt Git dir betroffene Dateien:

git status

2. Konflikt in der Datei ansehen

Git markiert den Konflikt in der Datei mit diesen Symbolen:

<<<<<<< HEAD
Deine Änderung aus dem aktuellen Branch
=======
Änderung aus dem gemergten Branch
>>>>>>> feature-branch

3. Konflikt lösen

Bearbeite die Datei so, dass du dich für eine Version entscheidest oder beide kombinierst. Entferne danach alle Konfliktmarkierungen.

4. Gelöste Datei zurückmelden

git add <dateiname>

5. Merge abschließen

git commit

Git öffnet einen Editor mit der Merge-Nachricht. Du kannst sie anpassen oder einfach speichern.