2012-12-18 32 views
12

Tôi đã thực hiện một số cam kết (cam kết 1/2/3), tôi đã thay đổi thư mục làm việc của mình mà không bị vấp. Sau đó, tôi muốn trở lại một số cam kết trước đây. Vì vậy, tôi git Revert commit1 commit2 commit3, nhưng tôi đã nói với cam kết thay đổi của tôi (commit4), vì vậy tôi đã làm điều đó, và sau đó tôi đã khiến một lần nữa git Revert commit1 commit2 commit3 commit4, nhưng tôi có một thông điệpHoàn nguyên Git không thành công

error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit | --abort)"

Khi Tôi chạy git branch -va, HEAD đang trỏ đến cam kết 3

Tôi không hiểu điều gì đang diễn ra. Tôi nên làm gì bây giờ để làm cho mọi thứ trở lại?

Trả lời

16

Tốt nhất là bắt đầu hoàn nguyên bằng chỉ mục sạch và cây làm việc.
Nếu không, thực hiện lần hoàn nguyên thứ hai (trên đầu trang của một lần commit mới) trong khi quá trình hoàn nguyên trước đó đang được tiến hành dẫn đến thông báo lỗi đó.

Vì bạn vẫn đang ở commit 3, bạn có thể:

  • git cherry-pick --quit (. Mà, từ this thread, nói trở lại rời HEAD một mình và có được ra khỏi con đường),
  • kiểm tra chỉ số và làm việc của bạn cây (trạng thái git),
  • thực hiện bất kỳ điều chỉnh nào để có trạng thái sạch (như cam kết mới),
  • và sau đó thực hiện lại git revert.

(bạn có thể thấy các tùy chọn khác ở "Rollback to Previous Commit - Github for MAC (a revert is already in progress)")

Đừng quên git reset nếu bạn chỉ muốn quên đi những ba cam kết (mặc dù điều đó sẽ làm cho bạn buộc một push: git push --force, theo thứ tự để xuất bản lịch sử của bạn cho chi nhánh đó. Nếu các cộng tác viên khác đã kéo từ cùng một nhánh đó, cách tiếp cận của bạn, sử dụng git revert, là cách tốt hơn)

Các vấn đề liên quan