ちょっと私はgithubが初めてなので、助けてください。
私は4つのコミットを持っています。
commit4 eh87eg87
commit3 e3e983jj
commit2 de6d6e3d
commit1 du3qw6y1
commit2 に戻って変更を加えてコミットし (commit 5)、commit4、commit3、commit2、commit1 などの残りのコミットを失わないようにしたいと考えています。
次の 2 つのことを試すことができます。
git rebase --interactive <ID of the commit before commit1>
. git が出力するドキュメントを読んでください。基本的に、forのedit
代わりにコミットを使用してから、リベースを続行する必要があります。pick
commit1
amend
git reset --hard <ID of the commit before commit1>
各コミットを順番に取得して を使用してコピーしgit cherry-pick <ID of commit>
、変更するファイルを変更してgit commit --ammend
から、次のコミットに進みます。「ダングリング」コミットの識別子として機能する別のブランチを作成し、現在のブランチをコミット 2 にリセットすることができます。
git branch temp_branch
(ここで任意の名前を選択できます)git reset --hard de6d6e3d
(コミット 2 の SHA)ステップ 1 で一時ブランチを作成した後も、元のブランチに残ります。それをリセットしたら、コミット 2 で作業を続けることができます。他の 2 つのコミットが必要な場合は、temp_branch をチェックアウトするだけです (または、リベース、cherry-pick などに使用します)。
あなたはしようとするかもしれません
git revert --no-commit de6d6e3d
... hack ...
git commit -m "re commit2"
最適な解決策を見つけた場合は、ここに追加することをお勧めします: https://git.wiki.kernel.org/index.php/GitSvnClient_(git-svn )