如何在Git中查看单个文件的修改历史,以及完整的修改内容细节?
我已经做到了。
git log -- [filename]
显示了该文件的提交历史,但我怎么才能看到每个文件的修改内容?
我正在尝试从MS SourceSafe过渡,以前是简单的 "右击"→"显示历史"。
你可以使用
git log -p filename
来让git为每个日志条目生成补丁。
参见
git help log
获取更多选项--它实际上可以做很多好事情 :)要获得某个特定提交的差异,可以
git show HEAD
或任何其他版本的标识符。或者使用
gitk
来直观地浏览修改内容。
git whatchanged -p filename在这种情况下也等同于git log -p filename。
git whatchanged -p filename
你也可以用 git blame filename 查看文件中某一行代码何时被修改。这将打印出文件中每一行的简短的提交ID、作者、时间戳和完整的代码行。 这在你发现一个bug并想知道它是什么时候出现的(或者是谁的错)时非常有用。
git blame filename
如果你使用git GUI(在Windows上),在Repository菜单下你可以使用"Visualize master's History"。 在顶部窗格中突出一个提交,在右下方突出一个文件,你会在左下方看到该提交的差异。
你可以使用
来让git为每个日志条目生成补丁。
参见
获取更多选项--它实际上可以做很多好事情 :)要获得某个特定提交的差异,可以
或任何其他版本的标识符。或者使用
来直观地浏览修改内容。
git whatchanged -p filename
在这种情况下也等同于git log -p filename
。你也可以用
git blame filename
查看文件中某一行代码何时被修改。这将打印出文件中每一行的简短的提交ID、作者、时间戳和完整的代码行。 这在你发现一个bug并想知道它是什么时候出现的(或者是谁的错)时非常有用。如果你使用git GUI(在Windows上),在Repository菜单下你可以使用"Visualize master's History"。 在顶部窗格中突出一个提交,在右下方突出一个文件,你会在左下方看到该提交的差异。