Hủy bỏ một git cherry-pick?


389

Tôi đã chạy git cherry-pick <hash>và có xung đột hợp nhất. Tôi không muốn giải quyết mâu thuẫn, tôi chỉ muốn hủy bỏ việc hái anh đào. Khi thực hiện hợp nhất thực tế (với git merge) có tiện dụng git merge --abort. Tương đương với việc hái anh đào là gì?

Câu trả lời:


601

Bạn có thể làm như sau

git cherry-pick --abort

Từ các git cherry-picktài liệu

--abort  

Hủy bỏ hoạt động và trở về trạng thái trước trình tự.


6
Tùy chọn --abort đã bị xóa / thêm trong phiên bản git cụ thể chưa? Tôi đang chạy git 1.7.4.1 và "git cherry-pick --abort" dẫn đến thông báo sử dụng git cherry-pick. Tôi cũng đã chọn "git help cherry-pick" cho "hủy bỏ" và không tìm thấy gì.
danns87

1
@ danns87 --aborttùy chọn có sẵn ở phiên bản 1.7.8 . Có thể cho bạn nâng cấp?

4
vâng, điều này không hoạt động. Hầu hết các lần tôi nhận được điều này error: Entry '<unstaged file>' not uptodate. Cannot merge. Mặt khác, git reset --mergekhông hoạt động!
kumarharsh

@KumarHarsh bạn đang sử dụng phiên bản Git nào?

1
> 1.8. Trên thực tế, đó là vì các tập tin bẩn trong thư mục. Nhưng git reset --mergelệnh hoạt động ngay cả sau đó.
kumarharsh

73

Tôi tìm thấy câu trả lời là git reset --merge- nó xóa nỗ lực chọn anh đào mâu thuẫn.


4
Có khác git reset --hardgì không? Tôi đang sử dụng quy trình làm việc rebase, nếu có bất cứ điều gì. Nó dường như làm việc ra cho tôi.
x-yuri

3
sự khác biệt giữa --merge--abort?
ffghfgh

8

Đối với tôi, cách duy nhất để thiết lập lại nỗ lực chọn cherry thất bại là

git reset --hard HEAD

Điều này không trả lời câu hỏi và chỉ gợi ý một hoạt động có khả năng phá hủy dữ liệu.
martinkunev

2

Cũng thử với tùy chọn '--quito', cho phép bạn hủy bỏ thao tác hiện tại và xóa thêm trạng thái trình sắp xếp.

--quito Quên về hoạt động hiện tại đang diễn ra. Có thể được sử dụng để xóa trạng thái trình sắp xếp sau khi chọn cherry hoặc hoàn nguyên thất bại.

--abort Hủy thao tác và trở về trạng thái trước chuỗi.

sử dụng trợ giúp để xem tài liệu gốc với nhiều chi tiết hơn, $ git help cherry-pick

Tôi sẽ tránh 'thiết lập lại git - đầu trang' quá khắc nghiệt và cuối cùng bạn có thể làm một số công việc thủ công.


Điều đó không nên tồn tại. Git đủ phức tạp mà không có hai cách để hủy bỏ một quả anh đào có tác dụng tinh tế khác nhau đối với trạng thái repo.
Kaz

Đúng, nó không cho tôi bất kỳ lỗi nào, nhưng không hoàn toàn thoát khỏi trạng thái lệnh.
Yu Chen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.