Wie man ‘git diff’ dazu bringt, nur Commit-Nachrichten anzuzeigen

Lesezeit: 3 Minuten

Benutzeravatar von Chris Hansen
Chris Hansen

Wie verwende ich git diff nur Commit-Meldungen anzeigen?

Ich möchte nur die Nachricht des Commit, nicht den Namen der Dateien. Ich versuche, ein Änderungsprotokoll in Git zu erhalten.

  • Verwenden Sie stattdessen git log?

    – Ismail Badawi

    10. November 2015 um 23:08 Uhr

Benutzeravatar von Simon Clewer
Simon Klewer

Du könntest es versuchen git logdaher,

git log commitA...commitB

Die Notation mit drei Punkten ‘…’ gibt Ihnen nur die Commit-Meldungen für alle Commits, die von CommitA oder CommitB erreichbar sind, aber nicht von beiden – dh den Unterschied zwischen CommitA und CommitB.

Sie können sich einfach auf die Commit-Nachricht reduzieren, mit etwas wie:

git log --pretty=%B commitA...commitB

Einige Beispiele

# Show a log of all commits in either the development branch or master branch since they diverged.
git log --pretty=%B development...master
# Ahow a log of all commits made to either commit b8c9577  or commit 92b15da, but not to both.
git log --pretty=%B b8c9577...92b15da
# Show a log for all commits unique to either the local branch master or local version of the origin's master branch.
git co master
git log --pretty=%B master...origin/master
# Show a log for all commits unique to either the local HEAD or local version of the origin's master branch.
git co master
# Hack, hack
git log --pretty=%B HEAD...origin/master

  • Kann Meister sein … Entwicklung, nicht Entwicklung … Meister

    – Anton Rybalko

    5. November 2020 um 14:17 Uhr

  • %B steht für raw body (unwrapped subject and body). Ich denke, dass die Verwendung der %s subject ist besser.

    – IgorZ

    21. September 2021 um 12:12 Uhr

Benutzeravatar von CodeWizard
CodeWizard

Verwenden:

git log --oneline -n 10

Es wird die letzte ausgedruckt n (10) Festschreibungen auf einzelne Zeilen. Nur die Commit-Nachrichten.

Sie können es auch mit anderen Protokollparametern kombinieren, wie:

git log --oneline --graph --decorate -n 10

  • geht das auch mit submodulen? Ich möchte auch die Submodule ändern

    – Chris Hansen

    10. November 2015 um 23:22 Uhr

  • Untermodule sind im Grunde ein Git-Repository innerhalb des Root-Git-Repositorys, sodass Sie dies innerhalb des Ordners tun müssen. Sie können jederzeit ein Skript oder einen Alias ​​schreiben, um dies für Sie zu tun.

    – CodeWizard

    10. November 2015 um 23:24 Uhr

  • Kann ich git diff nicht verwenden, um die Änderungen des Submoduls anzuzeigen?

    – Chris Hansen

    10. November 2015 um 23:24 Uhr

  • zum Beispiel: git submodule foreach git log --oneline .... Die for each-Schleife wird auf allen Ihren Submodulen ausgeführt.

    – CodeWizard

    10. November 2015 um 23:25 Uhr


Benutzeravatar von Anton Rybalko
Anton Rybalko

Ergänzend zu Simon Clewers Antwort:

git log master..dev --no-merges --pretty='format:%cs %s'

Es druckt nur Subjekte von Commits zwischen Master- und Development-Branchs (ohne Merge-Commits). Etwas wie das:

2020-12-31 Hot fix
2020-12-30 Change some stuff
2020-12-29 Add the feature

Wechsel zwischen lokalen und entfernten Filialen:

git log HEAD..origin --no-merges --pretty='format:%cs %s'

Siehe auch Was sind einige gute Möglichkeiten, ein Änderungsprotokoll mit Git zu verwalten?.

Benutzeravatar von Simon
Simon

git log --pretty=%B

zeigt Ihnen die letzten Commit-Meldungen.

Falls Sie die Anzahl der angezeigten Commit-Meldungen durch eine Zahl begrenzen möchten, Nkönnen Sie dies tun, indem Sie zusätzlich ein angeben -Nz.B,

git log -3 --pretty=%B

für die letzten drei Commit-Nachrichten.

1439210cookie-checkWie man ‘git diff’ dazu bringt, nur Commit-Nachrichten anzuzeigen

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

Privacy policy