2013-04-07 33 views
14

Tôi đã khởi tạo kho lưu trữ git và thực hiện cam kết đầu tiên. Bây giờ, trong thư mục này tôi chạy ./configure./make all để nó điền rất nhiều tệp/thư mục phụ không muốn theo dõi.làm cách nào để thêm tất cả các tệp/thư mục không được theo dõi vào git bỏ qua?

Điều tôi muốn làm là thêm tất cả các tệp không được theo dõi đó một lần và cho tất cả vào gitignore của tôi. Có cách nào đơn giản để làm điều đó không?

Tôi có thể loại bỏ một số tệp không cần thiết như *.o hoặc *.mod bằng cách chỉ định các dòng thích hợp trong .gitignore, nhưng điều này không giải quyết được sự cố.

+1

bản sao có thể có của [git: Cách bỏ qua tất cả các tệp không được theo dõi hiện tại?] (Http://stackoverflow.com/questions/11542687/git-how-to-ignore-all-present-untracked-files) – RedX

Trả lời

28

Hãy thử điều này:

git status -s | grep -e "^\?\?" | cut -c 4- >> .gitignore 

Giải thích: git status -s mang đến cho bạn một phiên bản ngắn về tình trạng, mà không tiêu đề. grep chỉ lấy các dòng bắt đầu bằng ??, tức là các tệp không được theo dõi, cut xóa ?? và phần còn lại thêm các dòng đó vào tệp .gitignore.

+0

cảm ơn nhiều! đó chính xác là những gì tôi đang tìm kiếm – Denis

+2

Lệnh này cũng sẽ bỏ qua tệp '.gitignore' của bạn. Nếu bạn muốn theo dõi tệp .gitignore của mình, hãy sử dụng lệnh 'git status -s | grep -e "^ \? \?" | grep -v ".gitignore" | cắt -c 4- >> .gitignore' – chiborg

+1

Giải pháp Windows xin vui lòng! – calbertts

2

Một lệnh đơn giản để làm điều này là

git ls-files --others --exclude-standard >> .gitignore 

Bạn có thể muốn chỉnh sửa kết quả để thay thế mô hình lặp đi lặp lại với các kí hiệu.

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