3

是否有用于比较来自 git stash 的文件的 --staged(又名 --cached)选项?

在这里,我将最近的提交与暂存文件进行比较(我使用显式的 @{} 语法,但我知道可以推断出 @{0}):

git diff stash@{0}:spec/blueprints.rb HEAD:spec/blueprints.rb

在这里,我将隐藏的文件与磁盘上的文件进行比较:

git diff stash@{0}:spec/blueprints.rb spec/blueprints.rb

我如何将当前上演的内容与隐藏的内容进行比较?这不起作用:

git diff --staged stash@{0}:spec/blueprints.rb spec/blueprints.rb
4

2 回答 2

5

git diff --cached 'stash@{0}' -- spec/blueprints.rb

... 可能不需要引号,但您永远不知道您的外壳如何让您感到惊讶。

于 2012-05-21T15:30:17.477 回答
0

:<n>:<path>, e.g. :0:README, :README

一个冒号,可选地后跟一个阶段号(0 到 3)和一个冒号,后跟一个路径,在给定路径的索引中命名一个 blob 对象。缺少的阶段编号(及其后面的冒号)命名阶段 0 条目。在合并期间,阶段 1 是共同祖先,阶段 2 是目标分支的版本(通常是当前分支),阶段 3 是正在合并的分支的版本。

来自git help rev-parse

于 2012-05-21T15:05:04.693 回答