git diff是否在索引和工作副本之间或在最后提交和工作副本之间进行比较?

Tan*_*nay 2 git

在git 参考中,它指出

一个简单的git diff将以统一的diff格式(补丁)显示自上次提交以来您尚未在下一个提交快照中暂存的项目中更改的代码或内容。

我所做的是,提交了一个包含文本的文件A。然后,我将该文件中的文本从更改AB并暂存(未提交)。最后,我将文件的内容更改为C。现在,当我运行时,git diff它向我显示B和之间的区别C。但我想看到的区别AC。我该怎么做?

e.d*_*vic 5

例如,如果要检查其他事物之间的差异,请查看以下示例:

你可以跑

git diff HEAD^       #check against parent of last commit
git diff HEAD^^      #check against grandparent of last commit
git diff HEAD~5      #check against 5 commits ago, 5 can be replaced with any number
git diff HEAD^..HEAD #check second most recent commit against most recent
git diff SHA1 SHA2   #check difference between two pre-defined commits
git diff --staged    #check staged vs current index (HEAD)
Run Code Online (Sandbox Code Playgroud)

您也可以根据时间变化进行操作,但这要先进一些。