Nein, das heißt nicht, dass es die letzten Commits zeigt. Es zeigt alle Commits in der Geschichte von Zweigen, Tags und anderen Referenzen, aber es zeigt keine Commits an, die nicht von Ref erreichbar sind. Ein typisches Beispiel für ein Commit, das von keiner Ref erreichbar ist, ist, wenn Sie git commit --amend
gerade ausgeführt haben: Die vorherige Commit existiert zwar immer noch lokal, aber sie ist nicht mehr erreichbar und wird nicht in git log --all
angezeigt. Aber git reflog
wird bestätigen, dass es tatsächlich noch existiert.
Warum --all
nicht der Standard ist: Normalerweise werden Sie das nicht wollen. Wenn Sie zum Beispiel auf einem Zweig-Master arbeiten und git log
ausführen, sind Sie normalerweise nicht am Verlauf von Feature-Zweigen interessiert. Normalerweise möchten Sie den Verlauf des Masters sehen.
Wenn Sie normalerweise das Verhalten --all
möchten, empfehle ich, einen Alias zu erstellen.
Laut einem Beitrag hier git --all missing commit :
log --all dient nur zum Auflisten von Commits, auf die in refs / verwiesen wird (wie Tags, Köpfe, ...)
Die gleiche Seite sagt auch:
Die Option --all weist git log nicht an, alle Commits anzuzeigen. Es fragt nach den Logs aller Refs, im Grunde Ihre Zweige und Tags.
Weil ich die Geschichte aller Branchen sehen möchte / etc. ist nicht so üblich, wenn man so arbeitet, als wolle man die Geschichte von etwas Spezifischem sehen, typischerweise den aktuellen Zweig.
Ich gehe davon aus, dass es, sobald es ins Englische übersetzt wurde, zeigt, dass es die letzten Commits zeigt.
Nein. refs / enthält Dinge wie Zweige und Tags. Wenn Sie den Verlauf eines bestimmten Zweigs oder eines bestimmten Zweigs von Zweigen anzeigen möchten, listen Sie diese in Ihrem git log
-Befehl auf. Wenn Sie die Historie aller Zweige / Tags / etc. Sehen möchten, können Sie die Verknüpfung --all
verwenden.
Git log zeigt nicht nur die letzten Commits an: es zeigt alle Commits an, die den gegebenen Kriterien entsprechen, von denen es mehrere Dimensionen gibt. Zum Beispiel, in welche Zweige der Commit eingeschaltet ist, ist das Commit in einem bestimmten Bereich, usw.
Tags und Links git