如何查看单个文件的历史记录以及更改内容的完整详细信息?

git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?


当前回答

这使得Git可以为每个日志条目生成补丁:

git log -p -- filename

查看git帮助日志了解更多选项-它实际上可以做很多好事。:)


要获取特定提交的差异,请使用

git show HEAD

或通过标识符指定任何其他修订。


要直观浏览更改,请执行以下操作:

gitk

其他回答

gitdiff-U<filename>为您提供统一的diff。

它应该是红色和绿色的。如果不是,请先运行:git-config-color.ui-auto。

阅读并播放一点后,总结其他答案:

通常的命令行命令是

git log --follow --all -p dir/file.c

但是,您也可以使用gitk(GUI)或tig(文本UI)来提供更多人类可读的方式来查看它。

gitk --follow --all -p dir/file.c

tig --follow --all -p dir/file.c

在Debian/Uubuntu下,这些可爱工具的安装命令如下所示:

sudo apt-get install gitk tig

我目前正在使用:

alias gdf='gitk --follow --all -p'

这样我就可以键入gdf-dir来获取子目录dir中所有内容的集中历史。

我要找的答案不在这里。这是为了查看我准备提交的文件中的更改。即。,

git diff --cached

使用优秀的Git扩展,您可以转到历史中文件仍然存在的位置(如果文件已被删除,否则只需转到HEAD),切换到文件树选项卡,右键单击文件并选择文件历史。

默认情况下,它通过重命名跟随文件,Blame选项卡允许查看给定版本的名称。

它有一些小缺点,比如显示致命错误:单击删除修订版时,“视图”选项卡中没有有效的对象名称,但我可以接受。:-)

Or:

gitx--<path/to/filename>

如果你使用的是gitx