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

时间:2016-07-20 12:18:23

标签: git

在git reference中,声明

  

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

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

2 个答案:

答案 0 :(得分:4)

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

你可以运行

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)

您也可以根据时间变化来做,但这有点高级。

答案 1 :(得分:1)

看一下'示例' man git-diff的部分。它在那里得到了很好的解释。