Einführung
🧑💻 Neuer zu Git oder LabEx? Wir empfehlen, mit dem Kurs Quick Start with Git zu beginnen.
Git ist ein leistungsstarkes Versionsverwaltungssystem, das es Entwicklern ermöglicht, effizient an Projekten zusammenzuarbeiten. Eine der Eigenschaften von Git ist das schnelle Zusammenführen, das es Git ermöglicht, Branches automatisch zusammenzuführen, die keine divergierenden Commits aufweisen. Dieser Feature kann jedoch manchmal Probleme verursachen, insbesondere wenn an größeren Projekten mit mehreren Mitwirkenden gearbeitet wird. In diesem Lab werden Sie lernen, wie das schnelle Zusammenführen standardmäßig deaktiviert werden kann.
Deaktiviere das schnelle Zusammenführen
Standardmäßig verwendet Git das schnelle Zusammenführen, um Branches zusammenzuführen, die keine divergierenden Commits aufweisen. Dies bedeutet, dass wenn Sie einen Branch haben, in dem keine neuen Commits vorliegen, Git einfach den Zeiger des Branches, in den Sie zusammenführen, auf den neuesten Commit des Branches setzen, aus dem Sie zusammenführen. Während dies in einigen Fällen nützlich sein kann, kann es auch Probleme verursachen, insbesondere wenn an größeren Projekten mit mehreren Mitwirkenden gearbeitet wird. Beispielsweise können Konflikte entstehen, die schwer zu beheben sind, wenn zwei Entwickler am selben Branch arbeiten und beide Änderungen vornehmen.
Um das schnelle Zusammenführen zu deaktivieren, verwenden wir das Repository von https://github.com/labex-labs/git-playground.
- Klone das Repository, navigiere zum Verzeichnis und konfiguriere die Identität:
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "your-username"
git config --global user.email "your-email"
- Erstelle und wechsle zu einem Branch namens
my-branch, erstelle eine Dateihello.txtund füge "hello,world" hinzu, füge sie zum Staging-Bereich hinzu und commite sie mit der Nachricht "Added hello.txt":
git checkout -b my-branch
echo "hello,world" > hello.txt
git add.
git commit -m "Added hello.txt"
- Führe den folgenden Befehl aus, um das schnelle Zusammenführen zu deaktivieren:
git config --add merge.ff false
Dies deaktiviert das schnelle Zusammenführen für alle Branches, auch wenn es möglich wäre. Sie können das --global-Flag verwenden, um diese Option global zu konfigurieren:
git config --global --add merge.ff false
- Wechsel zurück zum
master-Branch und merke denmy-branch-Branch zusammen, speichere und beende ohne den Text zu ändern:
git checkout master
git merge my-branch
Jetzt wird Git immer einen Merge-Commit erstellen, auch wenn es möglich wäre, ein schnelles Zusammenführen durchzuführen:
commit 6e17a776ab51a89ace069614b0caf1c07915a92c (HEAD -> master)
Merge: ec5ea6d 6d7de91
Author: xiaoshengyunan <@users.noreply.github.com>
Date: Mon Jul 17 13:30:44 2023 +0800
Merge branch'my-branch'
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie das schnelle Zusammenführen standardmäßig deaktivieren können. Dies kann nützlich sein, wenn an größeren Projekten mit mehreren Mitwirkenden gearbeitet wird, da es dazu beitragen kann, Konflikte zu vermeiden und die Verwaltung von Änderungen einfacher zu gestalten. Mit dem Befehl git config können Sie das schnelle Zusammenführen für alle Branches deaktivieren, auch wenn es möglich wäre.