如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
如何查看单个文件的历史记录以及更改内容的完整详细信息?
git-log--[filename]显示文件的提交历史,但如何查看更改的文件内容?
当前回答
如果您正在使用Git GUI(在Windows上):
在“存储库”菜单下,您可以使用“可视化大师的历史记录”。
突出显示顶部窗格中的提交和右下角的文件,您将在左下角看到该提交的差异。
其他回答
要获取特定文件的所有提交,请使用以下命令:
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 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中所有内容的集中历史。
对于图形视图,请使用gitk:
gitk [filename]
要跨文件重命名跟随文件,请执行以下操作:
gitk --follow [filename]
Sourcetree用户
如果您使用Sourcetree可视化存储库(它是免费的,非常好),您可以右键单击文件并选择Log Selected
显示(下图)比gitk和列出的大多数其他选项友好得多。不幸的是(此时)没有从命令行启动此视图的简单方法-Sourcetree的CLI当前只打开存储库。
您也可以尝试这个方法,它列出了更改文件特定部分的提交(在Git1.8.4中实现)。
返回的结果将是修改此特定部分的提交列表。命令:
git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>
其中upperLimit是文件的起始行号,lowerLimit是结束行号。
更多详情请访问http://techpurohit.in/list-some-useful-git-commands.