web-dev-qa-db-ja.com

Gitの復帰に失敗しました

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

エラー:チェリーピックまたは復帰がすでに進行中ヒント:「git cherry-pick(--continue | --quit | --abort)」を試す

Git branch -vaを実行すると、HEADがcommit 3を指している

何が起こっているのかよくわかりません。元に戻すにはどうすればよいですか?

14
epsilones

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

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

  • git cherry-pick --quit(これは this thread から、HEADをそのままにして邪魔にならないように復帰に指示します。)、
  • インデックスと作業ツリー(gitステータス)を調べます。
  • クリーンステータス(新しいコミットなど)になるように調整します。
  • その後、git revertをやり直してください。

(他のオプションは、「 前のコミットへのロールバック-MACのGithub(復帰はすでに進行中) 」で確認できます。

忘れないでください git reset これらの3つのコミットを忘れたいだけの場合(プッシュを強制することになります:git Push --force、その履歴を公開するためにブランチ。他の共同編集者がすでに同じブランチからプルしている場合、git revertを使用したアプローチの方が適しています)

19
VonC