Wir möchten eine Grafik sehen, wie zwei Zweige divergieren. Wenn git log --oneline --graph
ausgeführt wird, wird nur der aktuelle Zweig angezeigt. Wie schließen wir beide Zweige in das Diagramm ein?Git Log Graph, Anzeige, wie zwei Zweige divergieren
Antwort
git log
Nimmt keine oder mehrere Commits als Argumente, die den Verlauf anzeigen, der zu diesem Commit geführt hat. Wenn kein Argument angegeben wird, wird HEAD
angenommen. Für Ihren Fall möchten Sie die beiden Zweig Köpfe Sie vergleichen möchten liefern:
git log --graph --oneline currentbranch otherbranch
Wenn es nicht zu viel angezeigt werden, können Sie dies durch die Verwendung vereinfachen
git log --graph --oneline --all
, die wirkt, als ob Sie haben jede Referenz in .git/refs
als anzuzeigende Commits angegeben.
Dokumentation: https://www.kernel.org/pub/software/scm/git/docs/git-log.html –
Beide dieser Befehle zeigen den gesamten Verlauf. Gibt es eine Möglichkeit, nur die Änderungen in jedem Zweig seit dem Verzweigungspunkt grafisch darzustellen? – John
@John Ich denke du willst 'git log --graph --oneline aktueller Zweig ... otherbranch', der alle Commits zeigt, die von einem der beiden Zweigköpfe erreichbar sind, aber nicht von beiden. – chepner
git log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
Zwei Anfragen. 1. Könnten Sie bitte eine vereinfachte Version bereitstellen, die die Frage ohne zusätzliche Funktionalität beantwortet? 2. Kannst du erklären, wie man nur die zwei Zweige und nicht alle Zweige zeigt? –
Ich hatte das gleiche Problem und landete hier, aber keine Antwort hat mir geholfen, anzuzeigen, wie zwei Zweige divergieren. Schließlich habe ich selbst experimentiert und festgestellt, dass dies funktioniert.
Gegeben Zweig A
und Zweig B
, ich möchte sehen, wo sie auseinander gingen.
git log --oneline --graph --decorate A B `git merge-base A B`^!
Hinweis: Vergessen Sie nicht, dass es ^!
am Ende ist.
UPDATE
Die obige Befehl eine Zeile arbeitet nicht in Basisfall merge ist mehr als eine. In diesem Fall tun Sie dies:
git merge-base A B -a
# e.g. output XXXX YYYY
git log --oneline --graph --decorate A B --not XXXX^ YYYY^
- 1. Git Stash zwei Zweige
- 2. Git log alle, Anzeige aktuellen Commit unterschiedlich
- 3. Git zwischen zwei Ordnern zusammenführen, nicht Zweige
- 4. Zwei Git Zweige in einer Datei unterscheiden
- 5. Split ein Git Zweig in zwei Zweige?
- 6. "Merge" zwei identische Zweige
- 7. Warum schiebt Git in diesem Git Push auf zwei Zweige?
- 8. Wie benutze ich git log --graph --oneline --alles nur für meine lokalen Niederlassungen?
- 9. Git: Wie zwei funktionale und ganz verschiedene Zweige richtig zusammenführen?
- 10. Was ist das Mercurial-Äquivalent zu `git log --graph --decorate --oneline --all`?
- 11. Merge 2 GIT-Zweige
- 12. Wie gequetschte Commits als Zweige anzeigen?
- 13. git rebase verursacht Herkunft/Master und Master zu divergieren
- 14. Zweige Git: Tracking-Upstream
- 15. git Zweige von Browser
- 16. Git zeigt keine Zweige
- 17. Git - Gitlab Zweige
- 18. Mehrere Zweige in Git markieren?
- 19. Aktivieren git log Parameter standardmäßig
- 20. Zeige git log ohne merge commits
- 21. git Terminal minimale Anzeige
- 22. Wie git und Zweige richtig zu verwenden
- 23. Clearcase Deliver - Anzeige Element log
- 24. git: zwei Zweige zusammenführen: Was sind die richtigen Schritte?
- 25. git Zweige in separaten Ordnern
- 26. wie verschachtelte Zweige durch git-svn verwenden
- 27. Git: wie dauerhafte parallele Zweige beibehalten werden
- 28. Log Graph in TortoiseGit zeigt keine Verzweigung/Zusammenführung?
- 29. git-svn Klon | falsche Zweige
- 30. Entfernte Zweige in Git entfernen
Klären Sie den Titel. –