From a7799c13aef13628833ea3de201e25120ec52df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20W=C3=A4chter?= <2121495@stud.hs-mannheim.de> Date: Sun, 6 Apr 2025 18:14:11 +0200 Subject: [PATCH] added branches script --- Script/Branches.md | 87 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Script/Branches.md diff --git a/Script/Branches.md b/Script/Branches.md new file mode 100644 index 0000000..3736728 --- /dev/null +++ b/Script/Branches.md @@ -0,0 +1,87 @@ +# 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: +```bash +git branch neuer-branchname +``` + +## In einen Branch wechseln +Um in einen Branch zu wechseln: +```bash +git switch neuer-branchname +``` + +## Branch erstellen **und** direkt wechseln: +```bash +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): +```bash +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: +```bash +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: +```bash +git status +``` + +### 2. Konflikt in der Datei ansehen +Git markiert den Konflikt in der Datei mit diesen Symbolen: +```text +<<<<<<< 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 +```bash +git add +``` + +### 5. Merge abschließen +```bash +git commit +``` +Git öffnet einen Editor mit der Merge-Nachricht. Du kannst sie anpassen oder einfach speichern. +