Testen von Nicht-Merge-Commits
In diesem Schritt werden wir einen regulären Commit (ein Nicht-Merge-Commit) erstellen und dann git log
verwenden, um zu sehen, wie er in unserer Historie im Vergleich zu einem Merge-Commit (den wir noch nicht haben, aber in zukünftigen Labs werden) erscheint. Dies wird Ihnen helfen, Ihr Verständnis der verschiedenen Commit-Typen zu festigen.
Zunächst machen wir eine kleine Änderung an unserer message.txt
-Datei. Wir fügen eine weitere Zeile hinzu.
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine
befinden:
cd ~/project/my-time-machine
Jetzt verwenden wir den echo
-Befehl, um eine neue Zeile an die Datei anzuhängen:
echo "Adding another line." >> message.txt
Der >>
-Operator hängt den Text an die Datei an, anstatt sie zu überschreiben.
Lassen Sie uns den Inhalt der Datei überprüfen:
cat message.txt
Sie sollten Folgendes sehen:
Hello, Future Me
Adding another line.
Jetzt überprüfen wir den Status unseres Repositorys:
git status
Sie sollten sehen, dass message.txt
geändert wurde:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git erkennt die von uns vorgenommene Änderung. Jetzt stellen wir diese Änderung in den Staging-Bereich und committen sie.
git add message.txt
git commit -m "Add a second line to message"
Sie sollten eine Ausgabe sehen, die den Commit bestätigt:
[master a1b2c3d] Add a second line to message
1 file changed, 1 insertion(+)
Jetzt schauen wir uns erneut unsere Commit-Historie mit git log --oneline
an:
git log --oneline
Sie sollten zwei Commits sehen:
e4f5g6h (HEAD -> master) Add a second line to message
a1b2c3d Send a message to the future
Der neueste Commit (e4f5g6h
in diesem Beispiel, Ihr Hash wird unterschiedlich sein) ist unser neuer Nicht-Merge-Commit. Er repräsentiert eine einzelne Änderung, die direkt auf dem master
-Zweig vorgenommen wurde.
Wenn wir git log --merges
erneut ausführen würden, würde es immer noch keine Ausgabe liefern, da keiner dieser Commits ein Merge-Commit ist.
Das Verständnis des Unterschieds zwischen regulären Commits und Merge-Commits ist wichtig, um die Historie Ihres Projekts zu interpretieren und effektiv mit anderen zusammenzuarbeiten. Reguläre Commits repräsentieren lineare Fortschritte auf einer einzigen Entwicklungslinie, während Merge-Commits die Integration von Änderungen aus verschiedenen Entwicklungslinien darstellen.