Tôi cần một cam kết không còn trong cơ sở dữ liệu git của các cam kết. Tôi cần phải có khả năng loại bỏ cam kết abc123...
mà git checkout abc123...
lợi nhuận error: pathspec 'abc123...' did not match any file(s) known to git.
Hoàn toàn xóa cam kết khỏi cơ sở dữ liệu git
Các QA How to delete a 'git commit' câu trả lời này một phần, như trong làm thế nào để loại bỏ các tham chiếu tới một cam kết từ các HEAD, nhưng nó không bao gồm việc tìm kiếm tất cả các chi nhánh một cam kết có mặt trong và cũng không bao gồm hết hạn và thanh trừng cam kết khi nó đã được thực hiện một cam kết lơ lửng.
Làm cách nào để đạt được điều này?
Điều gì đã được thực hiện trong cam kết? Bạn có muốn điều đó vẫn xảy ra, nhưng trong cam kết sau đây? Hoặc đã làm nó, ví dụ: thêm tệp bạn muốn xóa hoàn toàn? Dù bằng cách nào, bạn sẽ phải sử dụng một số hình thức viết lại lịch sử. –
Tôi tìm thấy [bài đăng hữu ích này] (https://wincent.com/wiki/Obliterating_a_Git_commit) bằng cách tìm kiếm trên web cho "git obliterate". –