如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
当前回答
在本例中,gitwhatchanged-p文件名也等效于gitlog-p文件名。
您还可以看到文件中的特定代码行何时更改为git责备文件名。这将为文件中的每一行打印一个简短的提交id、作者、时间戳和完整的代码行。当你发现了一个bug并且你想知道它是什么时候引入的(或者是谁的错),这是非常有用的。
其他回答
如果要查看文件的整个历史记录,包括所有其他分支,请使用:
gitk --all <filename>
这使得Git可以为每个日志条目生成补丁:
git log -p -- filename
查看git帮助日志了解更多选项-它实际上可以做很多好事。:)
要获取特定提交的差异,请使用
git show HEAD
或通过标识符指定任何其他修订。
要直观浏览更改,请执行以下操作:
gitk
您也可以尝试这个方法,它列出了更改文件特定部分的提交(在Git1.8.4中实现)。
返回的结果将是修改此特定部分的提交列表。命令:
git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>
其中upperLimit是文件的起始行号,lowerLimit是结束行号。
更多详情请访问http://techpurohit.in/list-some-useful-git-commands.
Sourcetree用户
如果您使用Sourcetree可视化存储库(它是免费的,非常好),您可以右键单击文件并选择Log Selected
显示(下图)比gitk和列出的大多数其他选项友好得多。不幸的是(此时)没有从命令行启动此视图的简单方法-Sourcetree的CLI当前只打开存储库。
tig是一种基于终端的查看器,具有类似于基于GUI的gitk的颜色支持。
快速安装:
APT:APT-get-install tigHomebrew(OS X):$brew安装tig
使用它可以查看单个文件的历史记录:tig[filename]
或通过:tig浏览详细的存储库历史记录