总结了有关git diff的信息
索引和工作区的差异
git diff
非常简单。
“索引”是存放要提交的文件的位置。
“工作目录”指的是进行开发工作的目录。
※git add将文件从工作目录存储到索引中的操作称为”暂存”。
提交和工作目录的差异
git diff <SHA-1> or HEAD
参考:在git中,称呼指定的commit版本/修订号为什么?
索引和头的差异
git diff --cached
git diff --chached HEAD
git diff的基本功能是显示对“工作区”的变更。
但是,通过使用–cached(–staged)选项,可以进行索引和HEAD的比较。
查找分支之间的差异
git diff dev..testing
在中国的母语中改写如下,只需提供一种选择:
显示从dev到testing的更改差异。
※即使反向进行,结果仍然相同(正负显示会颠倒)。
可以确认提交之间的差异。
git diff SHA1..SHA2
与远程的区别
git diff HEAD..origin/branch
在进行pull操作之前,您可以确认本地和远程之间的差异。
由于HEAD..origin/branch右侧被视为最新,因此在进行push操作时应使用origin/branch..HEAD。
一个提交的变化差异
git diff SHA1^..SHA1
如果比较相同的SHA值,可以揭示差异的技巧方法。
^指的是前一个提交。
选项系统
只需按照差异的数量查看
git diff --stat
只查看有差异的文件名。
git diff --name-only
忽略换行符和空格
git diff -w
忽略空行
git diff --ignore-blank-lines
更改前后显示的行数。
git diff -U0
以词汇单位进行比较
git diff --color-words