8

最近のコミットにリベースするときに間違いを犯しました。git fetch --all(最初にリベースするのを忘れていました)、それ以来、コミットしてリモートブランチにプッシュしました。最初にフェッチしてリベースを適切に行い、競合を解決して、リモート ブランチにプッシュしました。今、私の最近のコミットはすべて 2 回表示されているようです。私がやりたいのは、git rebase インタラクティブ モードを使用し、必要なすべてのコミットを選択してから、コミット sha コードに適切にリベースすることです。

これはこれを行う方法ですか?を開始する場合git rebase -i、どの sha コードを使用すればよいか、元の分岐点の sha コードは? または最新のshaコード?

4

2 に答える 2

12

git rebase に過去のコミット数を与えます。履歴を 10 回コミットする場合:

git rebase -i HEAD~10

次に、表示されているテキスト エディターで削除するコミットの行を削除します。ファイルを保存して終了すると、リベースが開始され、リベースが完了すると、削除された行は履歴に残りません。

于 2012-04-04T21:10:47.080 に答える
1

重複したコミットを正常に削除しました。これが私がしたことです:分岐点へのハードリセット、原点からのプル、git rebase -i SHACODE(元の分岐点)の開始、保持したいコミットの選択、現在のSHACODEへのgit rebase。

于 2012-04-10T15:37:03.373 に答える