这经常发生在我身上:

在一两天的时间里,我正在同时处理几个相关的更改,当提交时,我最终忘记了在特定文件中更改了什么。(这只是一个个人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

通过这种方式,我可以快速查看自上次签入该文件以来我在该文件中做了什么。


当前回答

diff可以用git diff完成(如果你想看到所有修改文件的diff,后面跟着文件名或者什么都不加)。 但如果你已经做了git add *之类的操作,你就必须用git restore来撤销。第一。

其他回答

diff可以用git diff完成(如果你想看到所有修改文件的diff,后面跟着文件名或者什么都不加)。 但如果你已经做了git add *之类的操作,你就必须用git restore来撤销。第一。

你尝试了-v(或——verbose)选项来提交git吗?它在消息编辑器中添加提交的diff。

如果你想看看你还没有添加什么:

git diff myfile.txt

或者如果您想查看已经添加的更改

git diff --cached myfile.txt
git diff HEAD file

将显示上次提交后添加到工作树中的更改。将显示所有的更改(分期或不分期)。

在macOS系统下,进入git根目录,输入“git diff *”