Was macht git log –all?

Lesezeit: 3 Minuten

Warum nicht git log einfach anmelden alle die neusten Commits?

Und was bedeutet das?

--all
       Pretend as if all the refs in refs/ are listed on the command line as <commit>.

Ich nehme an, einmal in einfaches Englisch übersetzt, dass es bedeutet, alle neuesten Commits anzuzeigen.

Kann jemand klären.

  • Danke für die Frage – ich habe “log --all” in einigen meiner Aliase, und ich nahm an, dass es bedeutete “in allen Zweigen suchen, nicht nur im aktuellen” (was mehr oder weniger richtig zu sein scheint), aber ich habe mir heute die Dokumente angesehen, nur um sicherzugehen, bevor ich es jemandem erzähle sonst um es zu benutzen. Ich las diesen Satz und dachte “WTF?”.

    – Michael Burr

    26. Februar 2019 um 23:26 Uhr


Nein, das bedeutet nicht, dass alle neusten Commits angezeigt werden. Es zeigt alle Commits im Verlauf von Branches, Tags und anderen Refs, aber es zeigt keine Commits, die von keiner Ref erreichbar sind. Ein typisches Beispiel für einen Commit, der von keinem Ref erreichbar ist, ist, wenn Sie gerade gelaufen sind git commit --amend: Der vorherige Commit existiert noch lokal, ist aber nicht mehr erreichbar und wird nicht angezeigt git log --all. Aber git reflog wird bestätigen, dass es tatsächlich noch existiert.

Warum --all ist nicht die Standardeinstellung: Sie werden das normalerweise nicht wollen. Zum Beispiel, wenn Sie auf Branch Master sind und laufen git logsind Sie in der Regel nicht an der Historie von Feature-Branches interessiert, sondern möchten in der Regel die Historie von master sehen.

Wenn Sie das normalerweise möchten --all Verhalten, empfehle ich, einen Alias ​​anzulegen.

Benutzer-Avatar
Bryan Grün

Laut einem Beitrag hier git –all missing commit:

log –all dient nur zum Auflisten von Commits, auf die in refs/ verwiesen wird (wie Tags, Heads, …)

Auf der gleichen Seite steht auch:

Die Option –all weist git log nicht an, alle Commits anzuzeigen. Es fragt nach den Protokollen aller Refs, im Grunde nach Ihren Branches und Tags.

Von Seite 68 von Scott Chacon und Ben Straub Pro Git:

git log zeigt nicht immer alle Zweige an. […] standardmäßig, git log zeigt nur den Commit-Verlauf an unter die Filiale, die Sie ausgecheckt haben. Um den Commit-Verlauf für den gewünschten Zweig anzuzeigen, müssen Sie ihn explizit angeben: git log testing. Um alle Zweige anzuzeigen, fügen Sie hinzu --all zu deinem git log-Befehl.

Also grundsätzlich ohne --all Sie sehen nur die Commits, die tatsächlich Ihren aktuellen Zweig ausmachen.

Weil man die Historie aller Filialen/etc. ist bei der Arbeit nicht so üblich wie der Wunsch, den Verlauf von etwas Bestimmtem anzuzeigen, normalerweise den aktuellen Zweig.

Ich nehme an, einmal in einfaches Englisch übersetzt, dass es bedeutet, alle neuesten Commits anzuzeigen.

Nr. refs/ enthält Dinge wie Verzweigungen und Tags. Wenn Sie den Verlauf eines bestimmten Zweigs oder einer bestimmten Gruppe von Zweigen sehen möchten, listen Sie sie in Ihrer auf git log Befehl. Wenn Sie den Verlauf aller Branches/Tags/etc. sehen möchten, können Sie die verwenden --all Abkürzung.

Das Git-Protokoll zeigt nicht nur „die neuesten Commits“ an: Es zeigt alle Commits, die den angegebenen Kriterien entsprechen, von denen es mehrere Dimensionen gibt. Auf welchen Branches befindet sich das Commit, ist das Commit in einem bestimmten Bereich usw.

1229580cookie-checkWas macht git log –all?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy