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 に答える