Gibt es eine Git-Blamage-GUI ähnlich wie bzr qannotate?
Lesezeit: 6 Minuten
bialis
Als Ehemaliger bzr Benutzer und Anfänger zu git Ich versuche, ein gutes GUI-Tool für zu finden git blame ähnlich zu bzr qannotate. Letzteres hat 2 Hauptansichten:
Dateiinhaltsbetrachter mit kurzen Anmerkungsinformationen (wer, in welcher Revision die Zeile geändert hat) + Einfärbung des Hintergrunds basierend auf Committer-ID und Alter der Änderung.
Dateiprotokoll-Viewer: Wenn ich auf die Zeile im Dateiinhalt klicke, kann ich die Revision sehen, wann diese Zeile geändert wurde, und alle Protokollinformationen darüber.
Bildschirmfoto:
Ich sehe, dass XCode IDE so etwas eingebaut hat, obwohl es sich im Editorfenster befindet und daher nicht sehr praktisch ist.
Bisher habe ich GitX 0.7.1 und GitHub für Mac ausprobiert – beide haben überhaupt keine “Schuld”.
Ich habe gerade SourceTree für Mac überprüft, und es hat zwar Schuldzuweisungsunterstützung, aber es ist eher rudimentär und zeigt mir fast dasselbe wie die Befehlszeile git blame, obwohl ich auf die Zeile doppelklicken kann, um die entsprechende Überarbeitung und Änderungen in einem anderen Fenster anzuzeigen. Das ist immer noch nicht so gut wie bzr qannotate.
Gibt es andere GUI-Tools, die ich verwenden kann?
Hallo Bialix! Es ist lange her! Leider glaube ich nicht, dass es etwas so Gutes wie QBzr für Git gibt. 🙁 Ihr hattet eine Ausgezeichnet Werkzeugset. Ich sehne mich ständig nach dem Äquivalent für Git.
– John Szakmeister
21. November 2012 um 11:55 Uhr
Sie können sich auch Tower ansehen, obwohl es teuer ist.
Drücken t Sie erhalten die Baumansicht. Dann drücken B zeigt dir die git blame der markierten Datei.
Franken
Der einfachere Weg könnte sein git gui blame <arguments>. Sie können verwenden git gui --help für weitere Informationen zu den Argumenten. Hier die offizielle Quelle
git gui hat diese Funktionalität, aber es ist nicht annähernd so ausgefeilt. Gehen Sie zu “Repository” -> “Browse master’s files” (oder “Browse Branch files” für einen anderen Branch) -> doppelklicken Sie auf einen Dateinamen. Es ist einfach und scheint zu diesem Zeitpunkt nicht viel Konfigurierbarkeit zu haben, aber es ist funktional.
Oder klicke in gitk (das zumindest mit msysgit kommt) mit der rechten Maustaste auf eine Zeile in der Diff-Ansicht und wähle “Ursprung dieser Zeile anzeigen”
– Herr_und_Frau_D
28. April 2015 um 19:22 Uhr
@Mr_and_Mrs_D Was für ein tolles Feature. msysgit kommt mit Sourcetree. Vielen Dank.
– Noumenon
23. November 2018 um 21:08 Uhr
Trebor Unhöflich
Kasse Git-Erweiterungen und sehen Sie, ob es das ist, wonach Sie suchen.
Kamerad
Aptana-Studio, SublimeText und TextMate haben ähnliche Visualisierungen wie Sie dort, aber nichts mit Farben. Sie können konfigurieren Emacs oder vim um Ihnen eine farbige Version zu zeigen.
git blametool
Ich habe einen einfachen Wrapper geschrieben git blame was ziemlich gut funktioniert. I nenne es git blametool. Kapiert in meinem eRCaGuy_dotfiles Repo hier. Berufung git blametool öffnet die git blame Ausgabe in Ihrem “Schuldtool” Ihrer Wahl – was möglich ist irgendein Texteditor. Beispiele für Texteditoren sind: vim, emacs, gedit, nanoErhabener Text 3 (subldie Standardeinstellung und meine bevorzugte Wahl) usw.
Installation
Die neuesten Installationsanweisungen finden Sie in den Kommentaren oben in git-blametool.sh selbst. Es gibt viele Möglichkeiten, dies zu tun, aber hier sind einige mögliche Installationsanweisungen:
mkdir ~/dev # make development dir
cd ~/dev
git clone https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles.git
cd eRCaGuy_dotfiles/useful_scripts
# make symbolic link to "git-blametool.sh" inside ~/bin
mkdir -p ~/bin
ln -si "${PWD}/git-blametool.sh" ~/bin/git-blametool
Schließen Sie Ihr Terminal und öffnen Sie es erneut. Vorausgesetzt ~/bin ist ein Teil von dir PATH (Es ist standardmäßig auf Ubuntu, wenn Sie die ~/bin dir und dann abmelden und wieder anmelden), jetzt haben Sie Zugriff auf git-blametooldie einfach als ausgeführt werden kann git blametool.
Laufen git blametool -h für das vollständige Hilfemenü.
Stellen Sie Ihren Schuldzuweisungseditor ein (siehe git blametool -h für Details):
# set your blametool editor as Sublime Text 3 (its command-line executable is 'subl'):
git config --global blametool.editor subl
# Other popular choices:
git config --global blametool.editor vim
git config --global blametool.editor emacs
git config --global blametool.editor nano
git config --global blametool.editor gedit
git config --global blametool.editor leafpad
Installiere das Git Plugin, damit Sie die Syntaxhervorhebung von “Git Blame” erhalten: Strg + Wechsel + P –> “Package Control: Install Package” –> geben Sie “Git” ein und wählen Sie dieses Paket aus.
Verwendungszweck
Jetzt laufen git blametool! Es ist ein Wrapper herum git blame also akzeptiert es irgendein Optionen das git blame akzeptiert!
Beispielnutzung:
git blametool -h # help menu
git blametool somefile.c
git blametool somebranch somefile.c
Demo
In meinem eRCaGuy_dotfiles Repo, das Sie gerade oben geklont haben, führen Sie Folgendes aus:
git blametool useful_scripts/git-diffn.sh
Sie werden so etwas sehen:
Lassen Sie uns tiefer bohren. In Zeile 8 sehe ich Commit-Hash 68e96491, also doppelklicke ich in Sublime Text darauf und kopiere es. Jetzt kann ich das in meinem Terminal ausführen:
Beachten Sie, dass in Sublime Text 3 jetzt 2 Registerkarten geöffnet sind, die jeweils den Commit-Hash aus der git blame als Teil des Dateinamens. Ich möchte tiefer graben, also kopiere ich den Hash aus der ersten Zeile und führe Folgendes aus:
Es hat dies eröffnet git blame in eine dritte Registerkarte in Sublime Text 3. Jetzt sehe ich Folgendes:
Ich kann problemlos durch die 3 Registerkarten klicken. Kühl. Stellen Sie sich jetzt vor, ich hätte gefunden, wonach ich gesucht habe. Um einen direkten Vergleich zu sehen, führe ich dies aus, um den Vergleich zwischen Commit-Hash zu sehen c294f965 und 68e96491 in meld:
Wenn Sie nicht haben meld befolgen Sie meine Anweisungen in meiner Antwort hier: Git mergetool with Meld on Windows.
Alternativen zu git blametool
Hier sind ein paar Alternativen:
GitHub
Navigieren Sie einfach zu einer Datei in einem Repo auf GitHub und klicken Sie auf den Link „Blame“. wie hier gezeigt: .
Sie sehen jetzt ein nettes git blame in GitHub so anzeigen. Beachten Sie, dass Sie auf diese funky Fenstersymbol-Dinge klicken können, um weiter in das Fenster zurückzukehren git blame Geschichte: . Ein Klick auf den im Bild oben wäre zum Beispiel wie Laufen git blametool 68e96491 useful_scripts/git-diffn.shseit der git blametool Ausgabe für diese Zeile zeigt 68e96491 ist sein Commit-Hash.
“Git Blame” Sublime Text 3-Paket. ich mag mein git blametool besser, aber das ist auch eine Option:
Hallo Bialix! Es ist lange her! Leider glaube ich nicht, dass es etwas so Gutes wie QBzr für Git gibt. 🙁 Ihr hattet eine Ausgezeichnet Werkzeugset. Ich sehne mich ständig nach dem Äquivalent für Git.
– John Szakmeister
21. November 2012 um 11:55 Uhr
Sie können sich auch Tower ansehen, obwohl es teuer ist.
– Millielch
21. November 2012 um 23:05 Uhr