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

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


当前回答

gitdiff-U<filename>为您提供统一的diff。

它应该是红色和绿色的。如果不是,请先运行:git-config-color.ui-auto。

其他回答

Or:

gitx--<path/to/filename>

如果你使用的是gitx

gitdiff-U<filename>为您提供统一的diff。

它应该是红色和绿色的。如果不是,请先运行:git-config-color.ui-auto。

git log --follow -p -- path-to-file

这将显示文件的整个历史记录(包括重命名后的历史记录以及每次更改的差异)。

换句话说,如果名为bar的文件曾经被命名为foo,那么git-log-p bar(不带--follow选项)将只显示文件重命名之前的历史记录——当它被称为foo时,它不会显示文件的历史记录。使用git-log--follow-p bar将显示文件的整个历史记录,包括文件名为foo时对其所做的任何更改。-p选项确保每个更改都包含差异。

如果要查看文件的整个历史记录,包括所有其他分支,请使用:

gitk --all <filename>

我写git回放就是为了这个目的

pip install git-playback
git playback [filename]

这样既可以在命令行中显示结果(如gitlog-p),也可以使用箭头键(如gitk)逐步完成每次提交。