作为以前的bzr
用户和git
的新手,我正在尝试为git blame
找到与bzr qannotate
类似的优秀GUI工具。后者有两个主要观点:
截图:
我看到XCode IDE有类似内置的内容,虽然它在编辑器窗口内,因此不是很方便。
到目前为止,我已经尝试过GitX 0.7.1和Mac的GitHub - 他们都没有“责备”。
我刚刚检查了SourceTree for Mac,虽然它有责备支持,但它相当简陋,并且显示我几乎与命令行git blame
相同,虽然我可以双击该行以查看相应的修订并在另一个窗口中更改。那仍然不如bzr qannotate
那么好。
我可以使用其他GUI工具吗?
答案 0 :(得分:5)
tig
FTW!
按 t 即可获得树状视图。然后,按 B 会显示突出显示文件的git blame
。
答案 1 :(得分:3)
git gui
具有此功能,但它并没有那么完美。转到“存储库” - > “浏览主文件”(或“浏览分支文件”以获取不同的分支) - >双击文件名。它是基本的,此时似乎没有很多可配置性,但它是有用的。
答案 2 :(得分:3)
查看Git Extensions并查看这是否是您要找的内容。
答案 3 :(得分:1)
答案 4 :(得分:0)
更简单的方法可能是gui gui blame <arguments>
。您可以使用gui gui --help
获取有关参数的更多信息。 Here官方消息来源
答案 5 :(得分:0)
答案 6 :(得分:0)
git blametool
我围绕 git blame
编写了一个简单的包装器,效果很好。我称之为git blametool
。得到它in my eRCaGuy_dotfiles repo here。调用 git blametool
在您选择的“blametool”中打开 git blame
输出——它可以是任何文本编辑器。文本编辑器的示例包括:vim
、emacs
、gedit
、nano
、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
关闭并重新打开您的终端。假设 ~/bin
是您的 PATH
的一部分(如果您创建 ~/bin
目录,然后注销并重新登录,则默认情况下它在 Ubuntu 上),现在您可以访问 {{1 }},它可以简单地作为 git-blametool
运行。
运行 git blametool
以获得完整的帮助菜单。
设置您的blametool 编辑器(有关详细信息,请参阅 git blametool -h
):
git blametool -h
如果没有,请获取 Sublime Text 3:https://www.sublimetext.com/3。
安装 Git 插件,这样你就可以高亮显示“git blame”语法:Ctrl + Shift + P --> "Package Control: Install Package" --> 输入“Git”并选择那个包。
现在运行# 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
!它是 git blametool
的包装器,因此它接受 git blame
接受的任何选项!
示例用法:
git blame
在您刚刚在上面克隆的我的 eRCaGuy_dotfiles 存储库中,运行:
git blametool -h # help menu
git blametool somefile.c
git blametool somebranch somefile.c
让我们深入挖掘。在第 8 行,我看到提交哈希 git blametool useful_scripts/git-diffn.sh
,所以我在 Sublime Text 中双击它并复制它。现在我可以在我的终端中运行它:
68e96491
注意现在在 Sublime Text 3 中打开了 2 个选项卡,每个选项卡都显示来自 git blametool 68e96491 useful_scripts/git-diffn.sh
的提交哈希作为文件名的一部分。我想深入挖掘,所以我从第一行复制哈希并运行:
git blame
它打开了这个 git blametool c294f965 useful_scripts/git-diffn.sh
到 Sublime Text 3 中的第三个选项卡。现在我看到了这个:
我可以轻松点击 3 个标签。凉爽的。现在想象一下我找到了我想要的东西,所以为了查看并排比较,我运行它来查看 git blame
中提交哈希 c294f965
和 68e96491
之间的比较:< /p>
meld
如果您没有设置 git difftool 68e96491 68e96491 useful_scripts/git-diffn.sh
,请按照我在此处回答中的说明进行操作:Git mergetool with Meld on Windows。
meld
的替代方案这里有一些替代方案:
git blametool
视图,如下所示。请注意,您可以单击这些时髦的窗口图标来更深入地了解 git blame
历史:。例如,单击上图中的那个就像运行 git blame
,因为该行的 git blametool 68e96491 useful_scripts/git-diffn.sh
输出显示 git blametool
是它的提交哈希。68e96491
——我还没有决定,但这也是一个选择。
git blametool
灵感来自:Git blame -- prior commits?