Làm thế nào để bạn git hiển thị các tệp không bị theo dõi không tồn tại trong .gitignore


167

Tôi đang sử dụng git status -uđể hiển thị các tập tin chưa được theo dõi. Và trên thiết bị đầu cuối, tôi thấy rất nhiều tập tin chưa được theo dõi mà tôi cần phải giải mã như kiểm tra đơn vị, tài liệu cá nhân, v.v. Tôi đã đặt chúng vào .gitignore, nhưng dường như nó git statusvẫn hiển thị chúng.

Làm thế nào để bạn chỉ hiển thị các tệp không bị theo dõi không tồn tại .gitignore.


11
nếu các tệp không bị theo dõi được hiển thị trong trạng thái git, chúng không bị bỏ qua bởi .gitignore đúng cách. bạn có thể chỉ cho bạn cấu trúc thư mục làm việc và nội dung .gitignore không?
tối đa

7
Đồng ý với @max, nó sẽ hoạt động. Đây là một phỏng đoán hoang dã: nếu bạn đang ở trên Windows, hãy lưu ý rằng .gitignore, không giống như Windows, phân biệt chữ hoa chữ thường. Vì vậy, nếu bạn bỏ qua * .txt và có Test.TXT trên đĩa, nó sẽ không bị bỏ qua.
Joe White

Câu trả lời:


268

Bạn có thể liệt kê rõ ràng những gì đang được theo dõi và không bị theo dõi như sau để xem Git có nhìn thấy và tôn vinh bạn không .gitignore. Nếu bạn đăng .gitignorenội dung, git statusđầu ra và dirhoặc lschúng tôi có thể hỗ trợ bạn tốt hơn.

Liệt kê các tập tin bị bỏ qua

$ git ls-files . --ignored --exclude-standard --others

Liệt kê các tập tin không bị theo dõi

$ git ls-files . --exclude-standard --others

3
Nếu bạn thấy các tệp mà bạn không nghĩ là trong .gitignore của mình, có thể có một tệp khác đang ẩn trong dự án của bạn. Ferret nó ra với `tìm. -tên .gitignore`.
jpadvo

@ matthew-mccullough Câu trả lời tuyệt vời! Tôi sẽ thêm một số bí danh cho những lời cảm ơn này! @jpadvo Bạn có thể cho ví dụ về cách sử dụng findphương pháp không?
lacostenycoder

Nếu bạn muốn có một danh sách ngắn, giả sử bạn đang bỏ qua node_modules và không muốn xem toàn bộ cây, hãy thêm --directoryđể chỉ thư mục cấp cao nhất bị bỏ qua sẽ được in (điều này gần với trạng thái git hơn).
Henry Blyth

2
Để làm cho nó rõ ràng, git ls-files --others --exclude-standard --ignoredliệt kê các tập tin bị bỏ qua không bị theo dõi, và các tập tin git ls-files --others --exclude-standardkhông bị theo dõi không bị bỏ qua. Thêm về nó ở đây .
x-yuri

1
Lưu ý rằng theo mặc định git ls-files --otherskhông liệt kê các thư mục trống. Để liệt kê các thư mục trống thêm --directorytùy chọn. Điều này không rõ ràng từ trang người đàn ông nhưng có thể được suy luận. --directory: Nếu toàn bộ thư mục được phân loại là "khác", chỉ hiển thị tên của nó (với dấu gạch chéo) và không phải toàn bộ nội dung của nó. . --no-empty-directory: Không liệt kê các thư mục trống. Không có tác dụng mà không có --directory.
catanman


-6

Sử dụng:

git config status.showuntrackedfiles no 

Trên phiên bản phát hành hiện tại của git, tôi nhận được error: Invalid untracked files mode 'yes'khi tôi cố gắng sử dụng nó.
Mike

1
Giá trị có thể là no, normal, all. Nó được giải thích ở đây: git-scm.com/docs/git-config
Muhammad Gelbana

4
Điều này không trả lời câu hỏi.
lacostenycoder
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.