Tôi có cam kết cục bộ không thuộc bất kỳ chi nhánh nào mà tôi muốn xóa. Tôi không muốn rebase chúng, tôi thực sự muốn xóa chúng, và mất tất cả các nội dung liên quan đến cam kết này.Làm thế nào để xóa một đứa trẻ mồ côi cam kết trong git?
Đó là lệnh của họ để làm như vậy?
Cho đến nay tôi đã thử tính năng tương tác lại nhiều lần được đề xuất nhưng nó chỉ di chuyển xung quanh, nó không xóa chúng. Tôi cũng đã cố gắng sử dụng reflog xóa, nhưng tôi không thể tìm ra cách để vượt qua một cam kết cụ thể Id để lệnh.
Đây là cây làm việc:
o [master] Commit #6
|
o Commit #5
|
| o Commit #4
|/
o Commit #3
|
o Commit #2
|
o Commit #1
Tôi muốn thể chất xóa các cam # 4.
Bạn có thể xây dựng trên "di chuyển cam kết xung quanh" không? – greg0ire
@ greg0ire tốt, các cam kết vẫn còn tồn tại, nhưng được liên kết với cái gì khác .. Đó là những gì một rebase làm: thay đổi cha mẹ cam kết ... không? – FMaz008
Trong lần rebase tương tác, bạn cần phải xóa hoàn toàn dòng với commit bạn muốn xóa. Việc hoàn nguyên cam kết chỉ đơn giản là tạo một cam kết mới áp dụng sự khác biệt ngược lại của quy tắc được chỉ định. Điều này chỉ thêm một cam kết khác mà bạn sẽ phải xóa. Hãy thử rebase và loại bỏ hoàn toàn dòng. –