Testen mit anderen Branches
In diesem Schritt werden wir einen neuen Branch (Branch) erstellen und einen Commit (Commit) darauf machen, um zu sehen, wie sich git branch --contains
verhält, wenn ein Commit (Commit) nur auf einer Branch (Branch) vorhanden ist. Dies wird Ihnen helfen, Ihr Verständnis davon zu festigen, wie Git Commits (Commits) über verschiedene Entwicklungszweige hinweg verfolgt.
Zunächst erstellen wir einen neuen Branch (Branch) namens feature-branch
. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine
befinden.
cd ~/project/my-time-machine
git branch feature-branch
Jetzt wechseln wir zu unserem neuen Branch (Branch):
git checkout feature-branch
Sie sollten eine Ausgabe sehen, die anzeigt, dass Sie zu dem neuen Branch (Branch) gewechselt haben:
Switched to branch 'feature-branch'
Machen wir einen neuen Commit (Commit) auf diesem feature-branch
.
echo "Adding a feature" >> feature.txt
git add feature.txt
git commit -m "Add a new feature file"
Jetzt holen wir uns den Commit-Hash (Commit-Hash) dieses neuen Commits (Commits) mit git log --oneline
:
git log --oneline
Die Ausgabe zeigt Ihren neuen Commit (Commit) oben, gefolgt von den vorherigen Commits (Commits). Kopieren Sie den Hash des Commits (Commits) "Add a new feature file".
Jetzt verwenden wir git branch --contains
mit dem Hash des Commits (Commits) "Add a new feature file". Ersetzen Sie [feature_commit_hash]
durch den tatsächlichen Hash, den Sie kopiert haben:
git branch --contains [feature_commit_hash]
Die Ausgabe sollte nur * feature-branch
anzeigen. Dies liegt daran, dass dieser spezifische Commit (Commit) nach der Erstellung und dem Wechsel zu feature-branch
gemacht wurde, sodass er nur in der Historie dieser Branch (Branch) existiert.
Jetzt versuchen wir git branch --contains
erneut mit dem Hash des allerersten Commits (Commits) ("Send a message to the future"). Ersetzen Sie [first_commit_hash]
durch den Hash, den Sie im vorherigen Schritt verwendet haben:
git branch --contains [first_commit_hash]
Diesmal sollte die Ausgabe sowohl feature-branch
als auch * master
anzeigen. Dies liegt daran, dass der feature-branch
von der master
-Branch (Branch) erstellt wurde, sodass er alle Commits (Commits) enthält, die sich zu diesem Zeitpunkt auf master
befanden, einschließlich des ersten Commits (Commits).
Dies zeigt, wie git branch --contains
Ihnen helfen kann, die Beziehung zwischen Branches (Branches) und den Commits (Commits), die sie enthalten, zu verstehen.