2014-07-13 21 views
16

Tôi đã sửa đổi cam kết một vài lần và đã làm push --force mỗi lần (sai lầm ngu ngốc; tôi đã không nhận ra cho đến khi sẵn sàng gửi PR mà trình soạn thảo của tôi đã tạo ra hàng tấn tiếng ồn bằng cách sửa các tab và Dấu cách). Các cam kết mà tôi nghĩ là không còn tồn tại vẫn có thể truy cập trên GitHub, và các tài liệu tham khảo vấn đề gây ra một danh sách các liên kết đến các cam kết không tồn tại xuất hiện:xóa cam kết đã xóa tham chiếu đến sự cố

links to non-existent commits in GitHub issues

Làm thế nào để thoát khỏi những cam kết trên GitHub từ xa để các liên kết thêm sẽ biến mất?

+1

bản sao có thể có của [Làm cách nào tôi có thể xóa cam kết trên github?] (Http://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github) –

+0

có thể tôi cần đợi GitHub chạy 'git gc'? http://stackoverflow.com/a/9138899/474819 –

Trả lời

10

Nói chung, bạn không thể tự mình xóa một cam kết từ chính Github.

Như được chỉ ra trong câu trả lời cho câu hỏi khác được liên kết dưới dạng bản sao có thể, bạn chỉ có thể tham chiếu các cam kết mới (đó là những gì bạn đã làm).

Chạy git gc trong bản sao của bạn sẽ không giúp được gì, vì điều này không liên quan gì đến repo trên Github.

Github tự chạy gc riêng của mình mọi lúc và sau đó (lịch biểu và/hoặc sự kiện kích hoạt không được công khai). GC'ing cam kết có thể được ngăn chặn bởi tham chiếu đó trong vấn đề mặc dù, hoặc tham khảo có thể vẫn tồn tại (sau đó 404'ing) ngay cả khi cam kết được GC'd.

Thông thường, bạn chỉ cần bỏ qua loại điều này.

Nếu đó là vấn đề thực sự (ví dụ: dữ liệu nhạy cảm có thể truy cập được), bạn có thể liên hệ Github Support và yêu cầu họ xóa tham chiếu và cam kết.

Các vấn đề liên quan