gitコミットを未追加作業ツリーに適用しますか? 質問する

gitコミットを未追加作業ツリーに適用しますか? 質問する

8 つのコミットと 1 つのブランチ (マスター) の線形 Git 履歴があるとします。

1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> [8=master]

マスターを 4 に移動したい (これは で実行できますgit branch -f master 4):

1 -> 2 -> 3 -> [4=master] -> 5 -> 6 -> 7 -> 8

現在、作業ツリーは状態 4 にあります。

ここで、変更を4 -> 8パッチとして作業ツリーに適用したいと思います。

つまり、.git フォルダーの状態に影響を与えずに、4->8ステージングされていない変更を作業ツリーに適用したいのです。この後、作業ツリーは状態 8 になりますが、コミットされた状態とマスター ブランチは状態 4 になります。

別の言い方をすると、マスターを 4 に移動した後、インデックスに追加せずに、作業ツリーに 4->8 の変更を手動で加えたとします。結果は同じになるはずです。

これを行う最も簡単な方法は何ですか?

ベストアンサー1

遅れて参加したことは承知していますが、他の人の参考のために、最も簡単な方法は次のとおりだと思います。

git cherry-pick --no-commit 4..8

おすすめ記事