使用Git版本管理查看一个文件的变化历史

如何在Git中查看单个文件的修改历史,以及完整的修改内容细节?

我已经做到了。

git log -- [filename]

显示了该文件的提交历史,但我怎么才能看到每个文件的修改内容?

我正在尝试从MS SourceSafe过渡,以前是简单的 "右击"→"显示历史"。

你可以使用

git log -p filename

来让git为每个日志条目生成补丁。

参见

git help log

获取更多选项--它实际上可以做很多好事情 :)要获得某个特定提交的差异,可以

git show HEAD 

或任何其他版本的标识符。或者使用

gitk

来直观地浏览修改内容。

评论(10)

git whatchanged -p filename在这种情况下也等同于git log -p filename

你也可以用 git blame filename 查看文件中某一行代码何时被修改。这将打印出文件中每一行的简短的提交ID、作者、时间戳和完整的代码行。 这在你发现一个bug并想知道它是什么时候出现的(或者是谁的错)时非常有用。

评论(2)

如果你使用git GUI(在Windows上),在Repository菜单下你可以使用"Visualize master's History"。 在顶部窗格中突出一个提交,在右下方突出一个文件,你会在左下方看到该提交的差异。

评论(2)