我熟悉使用 https://github.com/jonas/tig 来查看我的更改,但通常我想查看整个文件并快速浏览更改。判断我的这些错误报告,我认为这个“git timemachine”功能不存在于
tig
:
我的解决方法是使用
tig blame $filename
并点击 f
来查看该版本中的斑点,这非常尴尬,因为不同的行在不同的时间发生变化。
我错过了什么?
也许这个绑定:
bind generic V !sh -c 'git show $1:$2' -- %(commit) %(fileargs)
然后运行类似
tig -- README.adoc
的东西。
选择一个提交并点击“V”查看文件。
我这样做的方法是使用
gitk
。
从 gitk 内部,如果您转到最新的提交(或任何提交),并在
tree
部分中,右键单击文件。您可以选择“仅突出显示此”。
然后,这将突出显示编辑该文件的不同提交。如果您将该 tree
窗口更改为 patch
选项,您将看到该文件在提交之间的差异。非常快速方便地查看更改来自何处(特别是如果您使用一些选项来启动 gitk 来显示所有分支)。
您也可以使用
git log -p --follow <file>
来完成此操作。它将显示该文件及其生成的提交的更改日志。
您还可以使用命令行中的图形选项来执行此操作,并通过类似以下内容来查看与当前分支/提交相关的不同更改 git log -p --decorate --oneline --graph --branches --all --follow <file>