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