Verwenden von git status
zur Prüfung auf vorauseilende Commits
In diesem Schritt lernen wir, wie wir den Befehl git status
verwenden können, um festzustellen, ob unser lokaler Branch Commits enthält, die dem Remote-Branch vorauseilen. Dies ist ein häufiges Szenario, wenn Sie lokal Änderungen vorgenommen haben, diese aber noch nicht in ein Remote-Repository gepusht haben.
Zunächst stellen wir sicher, dass wir uns im Projektverzeichnis befinden. Öffnen Sie Ihr Terminal und navigieren Sie zum Verzeichnis my-time-machine
:
cd ~/project/my-time-machine
Jetzt erstellen wir eine neue Datei und fügen ihr etwas Inhalt hinzu. Wir nennen diese Datei future_plans.txt
:
echo "Plan for world domination." > future_plans.txt
Als Nächstes müssen wir diese neue Datei für einen Commit vorbereiten (stagen):
git add future_plans.txt
Jetzt erstellen wir einen Commit mit einer Nachricht, die unsere Änderung beschreibt:
git commit -m "Add future plans"
Sie sollten eine Ausgabe ähnlich der folgenden sehen, die darauf hinweist, dass ein neuer Commit erstellt wurde:
[master abcdefg] Add future plans
1 file changed, 1 insertion(+)
create mode 100644 future_plans.txt
Wir haben nun einen neuen Commit auf unserem lokalen master
-Branch erstellt. Dieser Commit existiert jedoch nur lokal und wurde noch nicht an ein Remote-Repository gesendet.
Verwenden wir git status
, um den aktuellen Zustand unseres Repositorys zu sehen:
git status
Die Ausgabe sollte nun anzeigen, dass Ihr lokaler Branch dem Remote-Branch vorauseilt (wenn Sie einen konfiguriert hätten, was wir in diesem einfachen Beispiel nicht tun, aber Git gibt Ihnen dennoch den Hinweis):
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: future_plans.txt
nothing to commit, working tree clean
Die wichtige Zeile hier ist Your branch is ahead of 'origin/master' by 1 commit.
. Dies sagt uns, dass unser lokaler master
-Branch einen Commit enthält, der nicht auf dem origin/master
-Branch (der Standardname für den Remote-Branch, den Git erwartet) vorhanden ist.
Dies ist eine sehr nützliche Information. Sie lässt Sie wissen, dass Sie lokale Änderungen haben, die noch nicht mit anderen geteilt wurden. In einem realen Szenario mit einem Remote-Repository würde dies darauf hinweisen, dass Sie Ihre Änderungen mit git push
übertragen müssen.