Xóa các tệp không phải là kho lưu trữ bằng git?


97

Tôi đang viết mã Autotools và trong quá trình phát triển, rất nhiều tệp được tạo ra.

Có cách nào để yêu cầu git xóa tất cả các tệp khỏi một thư mục không phải là một phần của kho lưu trữ không?

Câu trả lời:


178

Bạn có thể sử dụng git-clean . Lệnh này sẽ xóa các tệp / thư mục không được theo dõi. Theo mặc định, nó sẽ chỉ in những gì nó sẽ xóa, mà không thực sự xóa chúng.

Đưa ra -fcờ để xóa tệp và -dcờ cũng để xóa các thư mục trống:

git clean -df

Cũng xóa các tệp bị bỏ qua:

git clean -dfx

36
Hãy ném vào -xvà tất cả đều tốt như một repo mới được nhân bản.
Dustin

2
Tôi nghĩ ý của anh ấy là xóa tệp khỏi git, không phải hệ thống tệp thực, rất tiếc!
Andrew Marshall

Lệnh git cleancủa chính nó sẽ thực sự loại bỏ tất cả các tệp không được theo dõi - ngoại trừ khi biến cấu hình Git clean.requireForce được đặt thành true. Nếu nó được đặt thành false, thì -ff là cần thiết cho các chỉ thị làm sạch
Adam

6
Các phiên bản git gần đây sẽ bị lỗi mà không có bất kỳ tham số nào; requestForce mặc định thành true, vì vậy để làm khô bạn cần -n
Seb

1
theo dõi trên @Dustin: git clean -ixsẽ hiển thị cho bạn những gì nó sẽ làm sạch và cung cấp cho bạn một menu tùy chọn. Yêu thích của tôi.
wcochran
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.