GIT DIFF小结

转自:http://www.zsythink.net/archives/3424

git diff
比较工作区和暂存区

git diff HEAD
比较工作区和当前分支最新的提交,你可以把HEAD换成别的分支的名字,比如test分支,"git diff test"表示比较当前工作区和test分支最新的提交之间的差异,也可以把HEAD替换成任何一个commit的ID,表示比较当前工作区和对应提交之间的差异。

git diff --cached
比较暂存区和当前分支最新的提交

上述命令都是比较所有文件的差异,如果想要指定文件,可以使用"--"指定文件的路径,文件路径可以有多个,用空格隔开。

git diff -- file1
git diff -- ./file1
只比较工作区和暂存区中file1文件的差异

git diff -- file1 file2
只比较工作区和暂存区中file1以及file2文件的差异

git diff -- dir1/d1/f1
只比较工作区和暂存区中dir1/d1/f1文件的差异

git diff -- dir1/
只比较工作区和暂存区中dir1目录中所有文件的差异

git diff HEAD -- ./file1
只比较工作区和当前分支最新的提交中file1文件的差异,HEAD可以替换成分支名或者commitID

git diff testbranch -- ./file1
只比较工作区和testbranch分支最新的提交中file1文件的差异

git diff --cached testbranch
比较暂存区和testbranch分支最新的提交

git diff --cached testbranch --./file1
只比较暂存区和testbranch分支最新的提交中file1文件的差异

git diff HEAD~ HEAD
比较当前分支中最新的两个提交之间的差异

git diff HEAD~ HEAD -- file1
比较当前分支中最新的两个提交中的file1文件的差异

git diff commitID1 commitID2
比较两个commit之间的差异
git diff commitID1..commitID2
同上,比较两个commit之间的差异,两个命令等效

git diff branch1 branch2
比较两个分支上最新提交之间的差异
git diff branch1..branch2
同上,比较两个分支上最新提交之间的差异,两个命令等效

你可能感兴趣的:(GIT DIFF小结)