Nếu bạn không thích ý tưởng "hoàn nguyên hoàn nguyên" (đặc biệt khi điều đó có nghĩa là mất thông tin lịch sử cho nhiều cam kết), bạn luôn có thể truy cập tài liệu git về "Reverting a faulty merge".
Do tình hình bắt đầu sau
P---o---o---M---x---x---W---x
\ /
A---B---C----------------D---E <-- fixed-up topic branch
(W là Revert của bạn ban đầu của việc hợp nhất M; D và E là bản sửa lỗi cho chi nhánh tính năng ban đầu của bạn bị hỏng/cam)
Bạn bây giờ có thể chỉ đơn giản là phát lại cam kết từ A đến E, vì vậy mà không ai trong số họ là "thuộc" để việc hợp nhất hoàn nguyên:
$ git checkout E
$ git rebase --no-ff P
các bản sao mới của chi nhánh của bạn bây giờ có thể được sáp nhập để master
ag ain:
A'---B'---C'------------D'---E' <-- recreated topic branch
/
P---o---o---M---x---x---W---x
\ /
A---B---C----------------D---E
Không hoàn nguyên công việc hoàn nguyên? – Mat
Có thể trùng lặp của [Làm thế nào tôi có thể sửa chữa một cam kết git trở lại?] (Http: // stackoverflow.com/questions/5354682/how-can-i-fix-a-reverted-git-cam kết) –