Batalkan pilihan git cherry-pick?


389

Saya berlari git cherry-pick <hash>dan menggabungkan konflik. Saya tidak ingin menyelesaikan konflik, saya hanya ingin membatalkan pick-ceri. Saat melakukan penggabungan aktual (dengan git merge) ada yang berguna git merge --abort. Apa yang setara dengan memetik ceri?

Jawaban:


602

Anda dapat melakukan hal berikut

git cherry-pick --abort

Dari git cherry-pickdokumen

--abort  

Batalkan operasi dan kembali ke kondisi pra-urutan.


6
Apakah opsi --abort telah dihapus / ditambahkan dalam versi git tertentu? Saya menjalankan git 1.7.4.1 dan "git cherry-pick --abort" menghasilkan pesan penggunaan git cherry-pick. Saya juga memahami "git help cherry-pick" untuk "batalkan" dan tidak menemukan apa pun.
danns87

1
@ danns87 --abortopsi menjadi tersedia di versi 1.7.8 . Apakah mungkin bagi Anda untuk meningkatkan?

4
ya, ini tidak berhasil. Sebagian besar waktu saya mendapatkan ini error: Entry '<unstaged file>' not uptodate. Cannot merge. Di sisi lain, git reset --mergeberhasil!
kumarharsh

@KumarHarsh versi Git apa yang Anda gunakan?

1
> 1.8. Sebenarnya, itu karena file kotor di direktori. Tetapi git reset --mergeperintah itu bekerja bahkan saat itu.
kumarharsh

73

Saya menemukan jawabannya adalah git reset --merge- itu membersihkan upaya cherry-pick yang bertentangan.


4
Apakah ini berbeda git reset --hard? Saya menggunakan alur kerja rebase, jika ada. Tampaknya berhasil bagi saya.
x-yuri

3
apa perbedaan antara --mergedan --abort?
ffghfgh

8

Bagi saya, satu-satunya cara untuk mereset upaya gagal-ceri yang gagal adalah

git reset --hard HEAD

Ini tidak menjawab pertanyaan dan hanya menyarankan operasi yang kemungkinan akan menghancurkan data.
martinkunev

2

Coba juga dengan opsi '--quit', yang memungkinkan Anda untuk membatalkan operasi saat ini dan lebih jauh menghapus status sequencer.

--quit Lupakan operasi yang sedang berjalan. Dapat digunakan untuk menghapus status sequencer setelah gagal memilih atau mengembalikan ceri.

--abort Membatalkan operasi dan kembali ke kondisi pra-urutan.

gunakan bantuan untuk melihat dokumen asli dengan detail lebih lanjut, $ git help cherry-pick

Saya akan menghindari 'git reset - HEAD HEAD' yang terlalu keras dan Anda mungkin akhirnya melakukan beberapa pekerjaan manual.


Seharusnya tidak ada. Git cukup rumit tanpa dua cara untuk membatalkan pilihan ceri yang memiliki efek berbeda pada kondisi repo.
Kaz

Benar, itu tidak memberi saya kesalahan, tetapi tidak sepenuhnya berhenti dari status perintah.
Yu Chen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.