15

いくつかのコミット(commit1 / 2/3)を行い、隠さずに作業ディレクトリを変更しました。それから私はいくつかのコミットを前に戻したかった。だから私はgitrevertcommit1 commit2 commit3ですが、変更をコミットするように言われたので(commit4)、それを実行してから、もう一度git revert commit1 commit2 commit3 commit4を実行しましたが、メッセージがありました

エラー:cherry-pickまたはrevertはすでに進行中ですヒント:「gitcherry-pick(--continue | --quit | --abort)」を試してください

git branch -vaを実行すると、HEADはcommit3を指しています。

何が起こっているのかよくわかりません。物事を元に戻すには、今何をすべきですか?

4

1 に答える 1

20

クリーンなインデックスと作業ツリーを使用して復帰を開始することをお勧めします。
それ以外の場合、前の復帰の進行中に (新しいコミットの上で) 2 回目の復帰を行うと、そのエラー メッセージが表示されます。

あなたはまだ にいるのでcommit 3、次のことができます。

  • git cherry-pick --quit(これは、このスレッドから、revert に放っておいHEADて邪魔にならないように指示します。)、
  • インデックスと作業ツリー (git status) を調べます。
  • クリーンなステータスを取得するための調整を行います (新しいコミットなど)。
  • そしてやり直してくださいgit revert

(「 Rollback to Previous Commit - Github for MAC (a revert is already in progress) 」で他のオプションを確認できます)

git resetこれら3つのコミットを単に忘れたい場合は忘れないでください(ただし、そのブランチの履歴を公開するために、 push: を強制する必要がありますgit push --force。他の共同作業者が同じブランチからすでにプルしている場合は、 、を使用するgit revertアプローチより良いものです)

于 2012-12-19T07:39:18.277 に答える