协慌网

登录 贡献 社区

使用 Git 版本控制查看文件的更改历史记录

如何在 Git 中查看单个文件的更改历史记录,完整的详细信息?

我有:

git log -- [filename]

它显示了文件的提交历史记录,但是如何获取每个文件更改的内容?

我正在尝试从 MS SourceSafe 转换,过去只是简单的right-clickshow 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选项确保每次更改都包含差异。