Gitチェリーピックを中止しますか?


389

私は走りgit cherry-pick <hash>、マージの衝突がありました。私は衝突を解決したくありません、ただチェリーピックを中止したいです。実際に(を使用してgit merge)マージを行う場合に便利git merge --abortです。チェリーピッキングに相当するものは何ですか?

回答:


602

次のことができます

git cherry-pick --abort

ドキュメントからgit cherry-pick

--abort  

操作をキャンセルして、シーケンス前の状態に戻ります。


6
--abortオプションは特定のgitバージョンで削除/追加されましたか?私はgit 1.7.4.1を実行していますが、「git cherry-pick --abort」を実行すると、git cherry-pickの使用に関するメッセージが表示されます。また、「git help cherry-pick」を「abort」と改名しましたが、何も見つかりませんでした。
danns87 2013年

1
@ danns87 --abortオプションは、バージョン1.7.8で使用可能になりました。アップグレードすることは可能ですか?

4
はい、これは機能しません。時間のほとんどは、私はこれを取得するerror: Entry '<unstaged file>' not uptodate. Cannot merge. 一方、git reset --merge仕事はありません!
kumarharsh 14年

@KumarHarsh Gitのどのバージョンを使用していますか?

1
> 1.8。実際には、ディレクトリ内のダーティファイルが原因でした。しかし、git reset --mergeコマンドはそれでも機能します。
kumarharsh 2014年

73

私は答えが見つかりましたgit reset --merge-競合するチェリーピックの試みをクリアします。


4
何か違うのgit reset --hard?どちらかと言えば、リベースのワークフローを使用しています。それは私にはうまくいくようです。
x-yuri

3
違いは何だ--mergeとは--abort
ffghfgh

8

私にとって、失敗したチェリーピックの試みをリセットする唯一の方法は

git reset --hard HEAD

これは質問の答えにはならず、データを破壊する可能性のある操作を示唆するだけです。
martinkunev

2

現在の操作を中止してシーケンサーの状態をさらにクリアできる「--quit」オプションも試してください。

--quit現在進行中の操作を忘れます。チェリーピックまたはリバートの失敗後にシーケンサーの状態をクリアするために使用できます。

--abort操作をキャンセルして、シーケンス前の状態に戻ります。

ヘルプを使用して、元のドキュメントの詳細を確認します。$ git help cherry-pick

厳しすぎる 'git reset --hard HEAD'は避け、手動で作業することになります。


それは存在すべきではありません。Gitは非常に複雑で、レポの状態に微妙に異なる影響を与えるチェリーピックをキャンセルする2つの方法はありません。
Kaz

確かに、エラーは発生しませんが、コマンドの状態が完全に終了するわけではありません。
ゆうチェン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.