2012-05-21 3 views
3

Есть ли опция --staged (aka --cached) для сравнения файлов с git stash?Diff поэтапный файл с одним в stash

Здесь я сравниваю самые последние совершают против ступенчатого файла (я использую синтаксис явного @ {}, но я знаю, что @ {0} может быть выведено):

git diff [email protected]{0}:spec/blueprints.rb HEAD:spec/blueprints.rb 

И здесь я сравнивая прятали файл с тем, что находится на диске:

git diff [email protected]{0}:spec/blueprints.rb spec/blueprints.rb 

Как я могу сравнить то, что в настоящее время поставлена ​​с тем, что в заначке? Это не работает:

git diff --staged [email protected]{0}:spec/blueprints.rb spec/blueprints.rb 

ответ

3

git diff --cached '[email protected]{0}' -- spec/blueprints.rb

... Вполне возможно, что кавычки не нужны, но вы никогда не знаете, как ваша оболочка может вас удивить.

0

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

двоеточие, необязательно с последующим числом стадии (от 0 до 3) и толстой кишки, а затем пути, имена объект блоб в индексе на данном пути. Недопустимый номер этапа (и двоеточие, который следует за ним), обозначает запись этапа 0. Во время слияния этап 1 является общим предком, второй этап - версией целевой ветви (как правило, текущей ветвью), а этап 3 - это версия из ветки, которая объединяется.

из git help rev-parse