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

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


当前回答

最近我发现了tig,发现它非常有用。有些情况下,我希望它能做到A或B,但大多数时候它都很整洁。

对于您的情况,tig<filename>可能是您需要的。

https://jonas.github.io/tig/

其他回答

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

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

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

如果您正在使用Git GUI(在Windows上):

在“存储库”菜单下,您可以使用“可视化大师的历史记录”。

突出显示顶部窗格中的提交和右下角的文件,您将在左下角看到该提交的差异。

您也可以尝试这个方法,它列出了更改文件特定部分的提交(在Git1.8.4中实现)。

返回的结果将是修改此特定部分的提交列表。命令:

git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

其中upperLimit是文件的起始行号,lowerLimit是结束行号。

更多详情请访问http://techpurohit.in/list-some-useful-git-commands.

tig是一种基于终端的查看器,具有类似于基于GUI的gitk的颜色支持。

快速安装:

APT:APT-get-install tigHomebrew(OS X):$brew安装tig

使用它可以查看单个文件的历史记录:tig[filename]

或通过:tig浏览详细的存储库历史记录

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

git log -p -- filename

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


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

git show HEAD

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


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

gitk