Ich möchte nur die Dateien sehen, die beim letzten Festschreiben genau so festgeschrieben wurden, wie ich die Liste damals gesehen habe git commit
. Leider auf der Suche nach
git "last commit" log
in Google bringt mich nirgendwo hin. Und
git diff HEAD^..HEAD
ist natürlich nicht das, was ich brauche, da es auch den Mut der Veränderung spuckt.
git diff HEAD^..HEAD
!Antworten:
Wie über Kommentare festgestellt, scheint das OP zu suchen
Dies ist auch sehr nahe an der Ausgabe, die Sie von
svn status
oder erhalten würdensvn log -v
, mit der viele Leute, die von Subversion zu Git kommen, vertraut sind.--name-status
ist der Schlüssel hier; wie andere Leute in dieser Frage erwähnt, können Sie verwendengit log -1
,git show
undgit diff
die gleiche Art von Ausgabe zu erhalten. Persönlich neige ich dazu,git show <rev>
einzelne Revisionen zu betrachten.quelle
git log --stat --author nroose -n 1
Verwenden Sie git show :
Hier werden die Namen der erstellten oder entfernten Dateien angezeigt, nicht jedoch die Namen der geänderten Dateien. Der
git show
Befehl unterstützt eine Vielzahl von Ausgabeformaten, die verschiedene Arten von Informationen zu Commits anzeigen.quelle
git show --stat
ist in der Nähe, aber gibt es keine Ansicht, in der das Wort "geändert" oder "hinzugefügt" neben der Datei angezeigt wird?--stat
) möchten, möchten Sie möglicherweise auch die Dateien anzeigen--name-status
und--name-only
wechseln.git log --name-status HEAD^..HEAD
könnte klappen
quelle
Um das letzte Commit zu sehen
Um die letzten 2 Commits zu sehen
usw....
quelle
Der mit Abstand einfachste Befehl hierfür ist:
Da es nur die Dateien im letzten Commit auflistet und Ihnen nicht den ganzen Mut gibt
Ein Beispiel für die Ausgabe ist:
quelle
--name-status
statt--name-only
.Macht die Arbeit für mich.
quelle
Anzeigen der letzten Festschreibungsänderungen
Oder um vorletzte Commit-Änderungen zu sehen
Und für weitere ersetzen Sie einfach '1' oben durch die erforderliche Commit-Sequenznummer.
quelle
Nachdem Sie mehrere Commits ausgeführt oder ein Repository geklont / abgerufen haben, möchten Sie möglicherweise sehen, welche Commits vorgenommen wurden. Überprüfen Sie einfach diese einfachen Lösungen, um Ihren Commit-Verlauf anzuzeigen (vom letzten / letzten Commit bis zum ersten).
Feuern Sie für das letzte Commit einfach diesen Befehl ab :
git log -1
. Für weitere interessante Dinge siehe unten -So zeigen Sie die Festschreibungs-ID (SHA-1-Prüfsumme), den Autorennamen <Mail-ID>, das Datum und die Uhrzeit sowie die Festschreibungsnachricht an:
Um weitere Statistiken anzuzeigen, z. B. die Namen aller Dateien, die während dieses Commits geändert wurden, und die Anzahl der Einfügungen / Löschungen. Dies ist sehr praktisch beim Überprüfen des Codes -
Festschreibungsverläufe in einigen hübschen Formaten anzeigen :) (Darauf folgen einige vorgefertigte Optionen) -
Wenn Sie zu viele Commits zum Überprüfen haben, werden sie mit diesem Befehl in einer ordentlichen Zeile angezeigt:
Verwenden Sie Folgendes, um kurze, mittlere, vollständige oder noch mehr Details Ihres Commits anzuzeigen:
Mit der
format
Option - können Sie sogar Ihr eigenes Ausgabeformat verwenden -wobei% an - Autorenname,% ae - Autor E-Mail,% s - Betreff des Commits usw.
Dies kann Ihnen bei Ihren Commit-Historien helfen. Weitere Informationen finden Sie hier .
quelle
oder
quelle
git log --name-status HEAD^..HEAD
git log ... HEAD^..HEAD
es nicht einfachergit log ... -1 HEAD
oder bessergit show ... HEAD
?git diff --stat HEAD
Dies zeigt den gleichen Diffstat wie Ihr letztes Commit.
quelle
Eine andere Möglichkeit, nur die Dateien aufzulisten, besteht darin
git diff-tree --no-commit-id --name-only -r HEAD^..HEAD
, Folgendes zu verwenden: Sie können auch zwei beliebige Festschreibungs-IDs verwenden
quelle
log
?Wenn Sie über das Finden des neuesten und besten Commits sprechen, nachdem Sie ein Git-Checkout eines früheren Commits durchgeführt haben ( und vergessen haben, den HEAD-Hash vor dem Ausführen des Checkouts aufzuschreiben ), werden Sie mit den meisten der oben genannten Punkte nicht dorthin zurückkehren du hast angefangen. git log - [some #] zeigt nur das Protokoll von der CURRENT-Position von HEAD an , was nicht unbedingt das allerletzte Commit (Status des Projekts) ist. Durch das Auschecken wird der KOPF getrennt und auf das gezeigt, was Sie ausgecheckt haben.
Sie können das gesamte Git-Reflog anzeigen , bis Sie den Eintrag erreichen, der auf den ursprünglichen Klon verweist. Übrigens funktioniert dies auch nicht, wenn zwischen dem Zeitpunkt, zu dem Sie das Projekt geklont haben, und dem Zeitpunkt, zu dem Sie einen Checkout durchgeführt haben, Commits vorgenommen wurden. Andernfalls können Sie hoffen, dass sich alle Ihre Commits auf Ihrem lokalen Computer auf dem Server befinden, und dann das gesamte Projekt erneut klonen.
Hoffe das hilft.
quelle