是否存在用于比较git存储文件的--staged(aka --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
答案 0 :(得分:3)
git diff --cached 'stash@{0}' -- spec/blueprints.rb
...可能不需要引号,但你永远不知道你的shell会如何让你感到惊讶。
答案 1 :(得分:0)
:<n>:<path>, e.g. :0:README, :README
冒号,可选地后跟阶段编号(0到3)和冒号,后跟路径,在给定路径的索引中命名blob对象。缺少的阶段编号(以及其后面的冒号)命名阶段0条目。在合并期间,阶段1是共同的祖先,阶段2是目标分支的版本(通常是当前分支),阶段3是正在合并的分支的版本。