diff是很常用的命令,现在记录一下diff的使用方法。

为了便于记忆这些不同的使用方法,可以从下面的宏观的角度来记忆。diff在逻辑上需要两个参数,第一个是暂存区/工作区,第二个是提交id,在具体使用的时候,可以选择省略参数。从这里可以看出来,diff在逻辑上是用于比较暂存区/工作区和版本库中某一版本的区别的。对于第一个参数,如果加了--cached参数,表示是暂存区,如果没加,表示是工作区。

1.git diff:不加任何参数,特殊记忆,比较的是暂存区和工作区的区别。

2.git diff HEAD:比较的是工作区和版本库中HEAD版本的区别。

3.git diff --cached:比较的是暂存区和版本库中HEAD版本的区别。

4.git diff id:比较的是工作区和版本库中id版本的区别。

5.git diff id --cached:比较的是暂存区和版本库中id版本的区别。

6.git diff id1 id2:比较的是版本库中id1和id2版本的区别。