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