Trước đó ngày hôm nay tôi phát hiện ra rằng một số mã đã bị thiếu trong kho lưu trữ git của tôi. Tôi biết một số văn bản còn thiếu, và tập tin đó là trong, vì vậy tôi đã sử dụng git log -S'missingtext' /path/to/file
. Tuy nhiên, điều duy nhất trở lại là cam kết trong đó tôi đã thêm dòng có chứa văn bản còn thiếu. Văn bản không có trong HEAD, và cam kết thêm vào nó hiện diện trong nhánh của tôi, vì vậy tôi biết rằng một trong những cam kết trong lịch sử chi nhánh của tôi phải loại bỏ nó, nhưng nó không hiển thị.Tìm khi dòng bị xóa
Sau một số tìm kiếm thủ công, hóa ra là dòng đó đã bị vô tình xóa trong khi giải quyết xung đột cho hợp nhất. Vì vậy, tôi tự hỏi:
- Đây có phải là lý do tại sao cuốc không thể tìm thấy cam kết đã xóa dòng?
- Làm cách nào tôi có thể tìm thấy nơi "thiếu văn bản" đã bị xóa mà không cần tìm hiểu thông qua lịch sử theo cách thủ công?
Bất kỳ thông tin chi tiết nào về số 1 đều tuyệt vời (tôi giả định rằng git log -S
sẽ trả lời), nhưng câu hỏi thực sự của tôi là # 2 vì tôi muốn tránh điều này trong tương lai.
'log -p' git và '/ missingtext' trong khi trong' less' là một 'n' cách nhanh chóng bẩn để làm điều này. – nneonneo
Có thể trùng lặp của [Làm thế nào để "đổ lỗi" một dòng đã xóa] (http://stackoverflow.com/questions/4404444/how-do-i-blame-a-deleted-line) – hypehuman