一、git diff
git diff用来比较文件之间的不同,其基本用法如下:
1、git diff:比较工作区与本地库或者工作区与暂存区之间的增删改 ,当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。
2、git diff --cached 或 git diff --staged:比较暂存区和本地版本库之间的增删改,显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改(git diff --cached和git diff –staged相同作用)。
3、git diff HEAD:是前面两个的并集,显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的的所有不相同文件的增删改。
4、git diff HEAD~X或git diff HEAD^^^… (后面有X个^符号,X为正整数):可以查看最近一次提交的版本与往过去时间线前数X个的版本之间的所有同3中定义文件之间的增删改。也可以用git diff commit_id1 commit_id2来比较两个指定提交之间的不同。
如:
git diff HEAD^#比较当前commit和上一个commit之间的增删改
二、git difftool
一般缩写为git df,用difftool来比较文件的不同(增删改)并可以修改。
1、git df commit_id1 commit_id2,用difftool比较指定提交的增删改,切换到下一个文件的增删改页面用“:qa”,当所有改动文件修改后会自动退出difftool页面并显示… files to edit
2、git df HEAD^用来比较并修改当前提交和上一个提交的不同。
git diff的最全最详细的4大主流用法