Hoàn tác một lỗi git bisect


164

Tôi đang thực hiện một thao tác git không tự động thông qua dòng lệnh. Tất cả đều diễn ra tốt đẹp cho đến khi tôi vô tình quay trở lại sai dòng trong lịch sử lệnh của mình và thay vì chạy thử nghiệm, tôi chạy 'git bisect good' (hoặc xấu). Rất tiếc - Tôi chưa biết liệu cam kết này nên được đánh dấu tốt hay xấu, nhưng đó là những gì tôi đã làm.

Tôi có thể hoàn tác lệnh 'git bisect good' hay làm cho git quên kết quả của nó và quay lại và chạy thử nghiệm cho cam kết đó không?

Câu trả lời:


206

Từ tài liệu git-bisect :

Đăng nhập bisect và bisect phát lại

Sau khi đã đánh dấu các sửa đổi là tốt hay xấu, hãy đưa ra lệnh sau để hiển thị những gì đã được thực hiện cho đến nay:

$ git bisect log

Nếu bạn phát hiện ra rằng bạn đã mắc lỗi trong việc chỉ định trạng thái sửa đổi, bạn có thể lưu đầu ra của lệnh này vào một tệp, chỉnh sửa nó để xóa các mục không chính xác, sau đó đưa ra các lệnh sau để trở về trạng thái đã sửa:

$ git bisect reset
$ git bisect replay that-file

98

Bạn có thể xuất bản ghi những gì đã được thực hiện bằng cách sử dụng

$ git bisect log > bisect.log

Mở tệp đó trong trình chỉnh sửa và chỉnh sửa / xóa dòng bị lỗi. Sau đó, bạn có thể phát lại nó với

$ git bisect replay bisect.log

Điều này được ghi lại trong git help bisect.


1
Bạn có phải git bisect resettrả lời như @manojlds không?
Colin D

@ColinD Tôi không phải thiết lập lại trước. Tôi đang sử dụng phiên bản git 2.19.1.windows.1
AlexMA
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.