8 つのコミットと 1 つのブランチ (マスター) の線形 git 履歴があるとします。
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> [8=master]
master を 4 に移動したい (これは で実行できますgit branch -f master 4
):
1 -> 2 -> 3 -> [4=master] -> 5 -> 6 -> 7 -> 8
これで作業ツリーは状態 4 になりました。
4 -> 8
からの変更を作業ツリーにパッチとして適用したいと考えています。
つまり、.git フォルダーの状態に影響を与えずに、4->8
ステージングされていない変更を作業ツリーに適用したいと考えています。この後、作業ツリーは状態 8 になりますが、コミットされた状態とマスター ブランチは状態 4 になります。
別の言い方をすれば、master を 4 に移動したふりをして、4 から 8 への変更をインデックスに追加せずに作業ツリーに手動で加えました。結果は同じになるはずです。
これを行う最も簡単な方法は何ですか?