git diff - 将索引与 HEAD 进行比较?暂存区和 HEAD 呢?
git diff - compares index to HEAD? What about staging area and HEAD?
所以我有一段时间对此感到困惑。
默认情况下 git diff
比较 index
和 HEAD
吗?或者 staging area
和 HEAD
?
假设 git diff
将索引与 HEAD 进行比较,我将如何 运行 git diff
在暂存和 HEAD 而不是索引和 HEAD 之间?
什么?首先 staging area
和 index
是一样的。然后,git diff 将 HEAD+index(可以这么说)与您的工作树进行比较。
要比较 工作目录 与 暂存目录/索引 使用:
git diff [--options] [--] [<path>…]
这回答了问题我在此存储库中的文件中更改了什么?
将 staging / index 与 HEAD 进行比较( 默认为 HEAD)使用:
git diff [--options] --cached [<commit>] [--] [<path>…]
--cached
可以换成--staged
方便记忆。在文档 index 中,staging 和 cached 都用来表示同一件事。
这回答了问题我的下一次提交会是什么样子?
额外
要将 工作目录 与 HEAD 进行比较,请使用:
git diff $(git rev-parse --short HEAD) [--] [<path>…]
所以我有一段时间对此感到困惑。
默认情况下 git diff
比较 index
和 HEAD
吗?或者 staging area
和 HEAD
?
假设 git diff
将索引与 HEAD 进行比较,我将如何 运行 git diff
在暂存和 HEAD 而不是索引和 HEAD 之间?
什么?首先 staging area
和 index
是一样的。然后,git diff 将 HEAD+index(可以这么说)与您的工作树进行比较。
要比较 工作目录 与 暂存目录/索引 使用:
git diff [--options] [--] [<path>…]
这回答了问题我在此存储库中的文件中更改了什么?
将 staging / index 与 HEAD 进行比较(
git diff [--options] --cached [<commit>] [--] [<path>…]
--cached
可以换成--staged
方便记忆。在文档 index 中,staging 和 cached 都用来表示同一件事。
这回答了问题我的下一次提交会是什么样子?
额外
要将 工作目录 与 HEAD 进行比较,请使用:
git diff $(git rev-parse --short HEAD) [--] [<path>…]