有类似bzr qannotate的git blame gui吗?

1tuwyuhd  于 2023-06-28  发布在  Git
关注(0)|答案(7)|浏览(133)

作为bzr的前用户和git的新手,我试图为git blame找到类似于bzr qannotate的好的GUI工具。后者有两大观点:
1.文件内容查看器,带有简短的注解信息(谁,在哪个版本中更改了行)+基于提交者ID和更改时间的背景着色。
1.文件日志查看器:当我单击文件内容中的行时,我可以看到该行被更改时的版本号以及有关该行的所有日志信息。
截图:x1c 0d1x
我看到XCode IDE内置了这样的东西,尽管它在编辑器窗口内,因此不是很方便。
到目前为止,我已经尝试了GitX 0.7.1和GitHub for Mac -它们都没有“责备”。
我刚刚检查了Mac的SourceTree,虽然它有责备支持,但它相当简陋,显示的几乎与命令行git blame相同,尽管我可以双击该行在另一个窗口中查看相应的修订和更改。这仍然不如bzr qannotate好。
是否有其他GUI工具可以使用?

xuo3flqw

xuo3flqw1#

tig FTW!
按t键可获得树视图。然后,按B键显示突出显示的文件的git blame

rkue9o1l

rkue9o1l2#

更简单的方法是git gui blame <arguments>。您可以使用git gui --help了解有关参数的更多信息。Here官方来源

uajslkp6

uajslkp63#

查看Git Extensions,看看这是不是你要找的。

2lpgd968

2lpgd9684#

git gui具有此功能,但它还不够完善。进入“Repository”->“Browse master's files”(或“Browse分支files”for a different branch)->双击一个文件名。它是基本的,目前似乎没有太多的可配置性,但它是功能性的。

zengzsys

zengzsys5#

Aptana StudioSublimeTextTextMate的可视化效果与您的类似,但没有颜色。您可以配置emacsvim以显示彩色版本。

qncylg1j

qncylg1j6#

git blametool

我写了一个简单的git blame Package 器,它工作得很好。我称之为git blametool。得到它in my eRCaGuy_dotfiles repo here。调用git blametool将在您选择的“blametool”中打开git blame输出--它可以是 * 任何 * 文本编辑器。文本编辑器的示例包括:vimemacsgeditnano、Sublime Text 3(默认值为subl,也是我的首选)等。

安装

有关最新的安装说明,请参阅git-blametool.sh本身顶部的注解。有很多方法可以做到这一点,但这里有一些可能的安装说明:

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

关闭并重新打开终端。假设~/binPATH的一部分(如果您创建~/bin目录,然后注销并重新登录,则默认情况下它是在Ubuntu上),现在您可以访问git-blametool,它可以简单地作为git blametool运行。
运行git blametool -h以获得完整的帮助菜单。
设置blametool编辑器(详情请参阅git blametool -h):

# set your blametool editor as Sublime Text 3 (its command-line executable is 'subl'):
git config --global blametool.editor subl

# see what your current setting is
git config --global blametool.editor

# Other popular choices to set as your blametool editor:
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
git config --global blametool.editor code # VSCode

如果你没有Sublime Text 3,请下载:https://www.sublimetext.com/3
安装Git插件,你会看到“git blame”语法高亮:Ctrl + Shift + P-->"包控制:安装软件包"-->输入" Git "并选择该软件包。

用法

现在运行git blametool!它是git blame的 Package 器,所以它接受git blame接受的 * 任何 * 选项!
示例用法:

git blametool -h  # help menu
git blametool somefile.c
git blametool somebranch somefile.c

Demo

在上面刚刚克隆的eRCaGuy_dotfiles repo中,运行:

git blametool useful_scripts/git-diffn.sh

你会看到类似这样的东西:

我们再深入调查一下。在第8行,我看到提交哈希68e96491,所以我在Sublime Text中双击它并复制它。现在我可以在我的终端上运行这个:

git blametool 68e96491 useful_scripts/git-diffn.sh

现在我明白了

请注意,现在Sublime Text 3中打开了2个选项卡,每个选项卡都显示来自git blame的提交哈希作为文件名的一部分。我想更深入地挖掘,所以我从第一行复制哈希并运行:

git blametool c294f965 useful_scripts/git-diffn.sh

它将这个git blame打开到Sublime Text 3中的第三个选项卡中。现在我看到了这个:

我可以很容易地点击周围的3个标签。很好。现在假设我找到了我想要的东西,所以为了查看并行比较,我运行下面的代码来查看提交哈希c294f965meld中的68e96491之间的比较:

git difftool 68e96491 68e96491 useful_scripts/git-diffn.sh

我看到的是

如果您没有设置meld,请按照我在这里的回答中的说明进行操作:Git mergetool与Windows上的Meld。

git blametool的替代方案

以下是几个替代方案:
1.* * GitHub**
1.只需导航到GitHub上的存储库中的一个文件,然后单击“Blame”链接as shown here


1.现在你会在GitHub中看到一个漂亮的git blame视图,如下所示。请注意,您可以单击这些时髦的窗口图标,以进一步回到git blame历史:

。例如,点击上图中的一个,就像运行git blametool 68e96491 useful_scripts/git-diffn.sh,因为该行的git blametool输出显示68e96491是它的提交哈希。
1.* * Git Blame Sublime Text 3包**。我更喜欢我的git blametool,但这也是一个选择:

  1. https://packagecontrol.io/packages/Git%20blame
  2. https://github.com/frou/st3-gitblame

参见

1.非常有用!查看单个文件的编辑历史记录!

git log -p somefile.c

灵感来自:如何查看之前的git blame提交?
1.[我的答案] Git mergetool with Meld on Windows
关键词:git blametool;在您选择的编辑器中打开git blame

hsvhsicv

hsvhsicv7#

有点晚,但是GitKraken非常好地支持历史和责备。

相关问题