如何在 Git 中查看单个文件的更改历史记录,完整的详细信息?
我有:
git log -- [filename]
它显示了文件的提交历史记录,但是如何获取每个文件更改的内容?
我正在尝试从 MS SourceSafe 转换,过去只是简单的right-click
→ show history
。
为此,我会使用:
gitk [filename]
或者按照文件名过去重命名
gitk --follow [filename]
您可以使用
git log -p filename
让 git 为每个日志条目生成补丁。
看到
git help log
更多选项 - 它实际上可以做很多好事:) 为了获得特定提交的差异你可以
git show HEAD
或标识符的任何其他修订。或者使用
gitk
以可视方式浏览更改。
git log --follow -p -- file
这将显示文件的整个历史记录(包括重命名以外的历史记录以及每次更改的差异)。
换句话说,如果名为bar
的文件曾被命名为foo
,那么git log -p bar
(不带--follow
选项)将只显示文件的历史记录,直到它被重命名为止 - 它不会显示文件的历史,当它被称为foo
。使用git log --follow -p bar
将显示文件的整个历史记录,包括文件被称为foo
时的任何更改。 -p
选项确保每次更改都包含差异。