2

インデックスを現在の状態のままにしておきたいのですが、特定のコミットをワークツリーに直接ロードしたいと思います。gitでこれを行う方法はありますか?

4

2 に答える 2

4

前の答えは受け入れられましたが、私はそれが本当に質問に答えるとは思いません。インデックスを初期状態のままにするのではなく、作業ツリーを更新した後、HEADに一致するようにインデックスをリセットします。これにより、で行われた作業はすべて失われgit addます。

代わりに、一時的なインデックスを使用します。

export GIT_INDEX_FILE=.git/tmpindex
git read-tree abc123  # Read commit into (temporary) index file
git checkout . # Update working tree with contents of (temporary) index
rm $GIT_INDEX_FILE
unset GIT_INDEX_FILE

これにより、通常のインデックスが元の状態のままになります。

于 2013-02-13T16:04:50.507 に答える
1

1つのコマンドで実行できないように見えますが、2つのコマンドで実行できるはずです。

$> git cherry-pick -n abc123     # cherry-pick to index and WC, no commit
$> git reset                     # revert index
于 2013-02-13T15:20:05.193 に答える