这经常发生在我身上:
在一两天的时间里,我正在同时处理几个相关的更改,当提交时,我最终忘记了在特定文件中更改了什么。(这只是一个个人git回购,所以我可以接受在一次提交中有多个更新。)
有什么方法可以预览即将签入的本地文件和该文件的最后一次提交之间的更改吗?
喜欢的东西:
git diff --changed /myfile.txt
它会打印出如下内容:
line 23
(last commit): var = 2+2
(current): var = myfunction() + 2
line 149
(last commit): return var
(current): return var / 7
通过这种方式,我可以快速查看自上次签入该文件以来我在该文件中做了什么。
检查局部差异:
git diff myfile.txt
或者你可以使用一个diff工具(如果你想恢复一些更改):
git difftool myfile.txt
要更有效地使用git difftool,请安装并使用您最喜欢的GUI工具,如Meld, DiffMerge或OpenDiff。
注意:你也可以使用。(而不是文件名)来查看当前的目录更改。
为了检查每一行的更改,使用:git blame,它将显示在哪个提交中提交了哪个行。
要在提交之前查看实际文件(master是你的分支),运行:
git show master:path/my_file
检查局部差异:
git diff myfile.txt
或者你可以使用一个diff工具(如果你想恢复一些更改):
git difftool myfile.txt
要更有效地使用git difftool,请安装并使用您最喜欢的GUI工具,如Meld, DiffMerge或OpenDiff。
注意:你也可以使用。(而不是文件名)来查看当前的目录更改。
为了检查每一行的更改,使用:git blame,它将显示在哪个提交中提交了哪个行。
要在提交之前查看实际文件(master是你的分支),运行:
git show master:path/my_file