added branches script
parent
164f72da4e
commit
a7799c13ae
|
|
@ -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 <dateiname>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Merge abschließen
|
||||||
|
```bash
|
||||||
|
git commit
|
||||||
|
```
|
||||||
|
Git öffnet einen Editor mit der Merge-Nachricht. Du kannst sie anpassen oder einfach speichern.
|
||||||
|
|
||||||
Loading…
Reference in New Issue