以下列出了git diff的不同用法:
方式一:
git diff [文件名]
默认将工作区的该文件和暂存区的该文件进行比较。
当工作区文件和暂存区文件没有任何差异时,执行该命令,不会有任何提示。
当工作区文件做了修改而未提交到暂存区,将会提示在何处出现不同。
上图告诉我们说,文件中添加了一行“测试diff”。若将修改后的文件提交到本地库,再执行该命令将不会出现提示。
方式二:
git diff [本地库历史版本] [文件名]
该文件和历史版本作比较。
当然,如果 “本地库历史版本” 为当前版本,那么不会提示任何信息。
如果为除去当前版本,该文件和任何历史版本比较,不同时会提示相关信息,相同时不提示。
方式三:
git diff
所有文件的暂存区和工作区作比较。
对于第一个框,这是第一个文件better.txt,我做的修改其实是增加“测试git diff by better file”。但在Git看来,它认为我删除了文件中的“测试git diff”,又增加了“测试git diff”和“测试git diff by better file”这两行。
第二个框nice.txt也是这样。
方式四:
git diff --staged
本地库所有文件和暂存区所有文件进行对比
如上图,我对nice.txt文件和better.txt文件做了对应的修改,并且将两者提交到了暂存区,但是没有提交到本地库。使用该命令时,就会比较出本地库和暂存区的差异。
方式五:
git diff [分支名] [分支名]
比较分支之间,相同文件的不同。
方式六:
git diff [版本号] [版本号]
比较任意两个版本之间的差异