1

ちょっと私はgithubが初めてなので、助けてください。

私は4つのコミットを持っています。

commit4 eh87eg87

commit3 e3e983jj

commit2 de6d6e3d

commit1 du3qw6y1

commit2 に戻って変更を加えてコミットし (commit 5)、commit4、commit3、commit2、commit1 などの残りのコミットを失わないようにしたいと考えています。

4

3 に答える 3

1

次の 2 つのことを試すことができます。

  1. git rebase --interactive <ID of the commit before commit1>. git が出力するドキュメントを読んでください。基本的に、forのedit代わりにコミットを使用してから、リベースを続行する必要があります。pickcommit1amend
  2. コミットの ID を書き留めてから、git reset --hard <ID of the commit before commit1>各コミットを順番に取得して を使用してコピーしgit cherry-pick <ID of commit>、変更するファイルを変更してgit commit --ammendから、次のコミットに進みます。
于 2012-12-22T08:02:15.927 に答える
0

「ダングリング」コミットの識別子として機能する別のブランチを作成し、現在のブランチをコミット 2 にリセットすることができます。

  1. git branch temp_branch(ここで任意の名前を選択できます)
  2. git reset --hard de6d6e3d(コミット 2 の SHA)

ステップ 1 で一時ブランチを作成した後も、元のブランチに残ります。それをリセットしたら、コミット 2 で作業を続けることができます。他の 2 つのコミットが必要な場合は、temp_branch をチェックアウトするだけです (または、リベース、cherry-pick などに使用します)。

于 2012-12-22T08:02:05.107 に答える
0

あなたはしようとするかもしれません

git revert --no-commit de6d6e3d
... hack ...
git commit -m "re commit2"

最適な解決策を見つけた場合は、ここに追加することをお勧めします: https://git.wiki.kernel.org/index.php/GitSvnClient_(git-svn )

于 2012-12-24T15:35:11.020 に答える