如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
当前回答
Sourcetree用户
如果您使用Sourcetree可视化存储库(它是免费的,非常好),您可以右键单击文件并选择Log Selected
显示(下图)比gitk和列出的大多数其他选项友好得多。不幸的是(此时)没有从命令行启动此视图的简单方法-Sourcetree的CLI当前只打开存储库。
其他回答
这使得Git可以为每个日志条目生成补丁:
git log -p -- filename
查看git帮助日志了解更多选项-它实际上可以做很多好事。:)
要获取特定提交的差异,请使用
git show HEAD
或通过标识符指定任何其他修订。
要直观浏览更改,请执行以下操作:
gitk
最近我发现了tig,发现它非常有用。有些情况下,我希望它能做到A或B,但大多数时候它都很整洁。
对于您的情况,tig<filename>可能是您需要的。
https://jonas.github.io/tig/
要获取特定文件的所有提交,请使用以下命令:
git rev list HEAD--单行文件名
例如
git rev list HEAD--单行index.html
输出
7a2bb2f update_index_with_alias
6c03e56 update_changes
e867142 Revert "add_paragraph"
如果要查看对文件所做的更改
git-log-p文件名
查看gif图像
要显示文件每行的修订版本和作者上次修改的内容,请执行以下操作:
git blame filename
或者如果您想使用功能强大的责备GUI:
git gui blame filename
gitdiff-U<filename>为您提供统一的diff。
它应该是红色和绿色的。如果不是,请先运行:git-config-color.ui-auto。