如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
当前回答
在Sourcetree UI中,您可以通过选择右键单击上下文菜单中的“Log Selected”选项来查找文件的历史记录:
它将显示所有提交的历史。
其他回答
最近我发现了tig,发现它非常有用。有些情况下,我希望它能做到A或B,但大多数时候它都很整洁。
对于您的情况,tig<filename>可能是您需要的。
https://jonas.github.io/tig/
您也可以尝试这个方法,它列出了更改文件特定部分的提交(在Git1.8.4中实现)。
返回的结果将是修改此特定部分的提交列表。命令:
git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>
其中upperLimit是文件的起始行号,lowerLimit是结束行号。
更多详情请访问http://techpurohit.in/list-some-useful-git-commands.
git log --follow -p -- path-to-file
这将显示文件的整个历史记录(包括重命名后的历史记录以及每次更改的差异)。
换句话说,如果名为bar的文件曾经被命名为foo,那么git-log-p bar(不带--follow选项)将只显示文件重命名之前的历史记录——当它被称为foo时,它不会显示文件的历史记录。使用git-log--follow-p bar将显示文件的整个历史记录,包括文件名为foo时对其所做的任何更改。-p选项确保每个更改都包含差异。
这使得Git可以为每个日志条目生成补丁:
git log -p -- filename
查看git帮助日志了解更多选项-它实际上可以做很多好事。:)
要获取特定提交的差异,请使用
git show HEAD
或通过标识符指定任何其他修订。
要直观浏览更改,请执行以下操作:
gitk
使用优秀的Git扩展,您可以转到历史中文件仍然存在的位置(如果文件已被删除,否则只需转到HEAD),切换到文件树选项卡,右键单击文件并选择文件历史。
默认情况下,它通过重命名跟随文件,Blame选项卡允许查看给定版本的名称。
它有一些小缺点,比如显示致命错误:单击删除修订版时,“视图”选项卡中没有有效的对象名称,但我可以接受。:-)