Làm cách nào để tôi thực hiện 'trạng thái git' để nó không hiển thị các tệp không bị theo dõi mà không sử dụng .gitignore?


317

Làm cách nào để tôi git statuskhông hiển thị các tệp không bị theo dõi mà không sử dụng .gitignore? Tôi chỉ muốn nhận thông tin trạng thái sửa đổi trên các tệp được theo dõi.

Câu trả lời:


498

Dùng cái này:

git status -uno

tương đương với:

git status --untracked-files=no

Có một chút ẩn trong hướng dẫn sử dụng, nhưng trang hướng dẫn về trạng thái cho biết "hỗ trợ các tùy chọn tương tự như git-commit", vì vậy đó là nơi bạn phải tìm.


1
Bạn viết cái này ở đâu? Vào terminal hay vào file?
FrenkyB

1
Đó là một hoạt động dòng lệnh; không phải là một chỉnh sửa tập tin cấu hình git.
Ross Rogers

Điều gì sẽ xảy ra nếu tôi đã hoàn thành, git reset --hard <commit id>, sau đó tôi git status -uno, không có gì hiển thị, chỉ các tệp không được theo dõi được hiển thị
Snow Bases

130

Cũng thế:

git config status.showuntrackedfiles no

9
Điều này thật tuyệt vời cho một repo luôn có các tệp không bị theo dõi như một trong thư mục chính của bạn cho các tệp chấm.
Dave

15
Dave, Có lẽ .gitignoredanh sách là tốt nhất cho "những ẩn số đã biết", trong khi bạn có thể muốn thấy "những ẩn số chưa biết" xuất hiện một lần nữa.
Ross Rogers

15

Lưu ý rằng, kể từ git 1.8.3 (tháng 4, 22d 2013) , bạn sẽ biết về --untracked-files=nongay cả khi bạn không thêm tùy chọn đó ngay từ đầu!

" git status" đề nghị người dùng xem xét sử dụng --untracked-files=notùy chọn khi mất quá nhiều thời gian.

Xem cam kết https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

Trong một số kho lưu trữ người dùng trải nghiệm rằng git statuslệnh "" mất nhiều thời gian.
Lệnh dành một chút thời gian để tìm kiếm hệ thống tệp cho các tệp không bị theo dõi.

Giải thích sự đánh đổi bằng lựa chọn mặc định normalđể giúp người dùng đưa ra lựa chọn phù hợp tốt hơn, trước khi nói về biến cấu hình.

Các git statustài liệu hiện nêu:

Khi -utùy chọn không được sử dụng, các tệp và thư mục không bị theo dõi sẽ được hiển thị (nghĩa là giống như chỉ định normal), để giúp bạn tránh quên thêm các tệp mới được tạo.
Vì phải mất thêm công sức để tìm các tệp không bị theo dõi trong hệ thống tệp, chế độ này có thể mất một thời gian trong một cây làm việc lớn.
Bạn có thể sử dụng nođể git statusquay lại nhanh hơn mà không hiển thị các tệp không bị theo dõi
.

Mặc định có thể được thay đổi bằng cách sử dụng status.showUntrackedFilesbiến cấu hình được ghi lại git config.


2
@Tshepang cảm ơn bạn. Tôi đã chỉnh sửa câu trả lời để bao gồm liên kết thích hợp, cũng như thêm cam kết chính xác trong đó cho biết thay đổi đã được đưa ra.
VonC

Tôi chưa quen với git - bạn có thể vui lòng cho tôi biết nơi viết các lệnh này để không hiển thị các tệp không bị theo dõi không? Tôi đã cố gắng ghi chúng vào thiết bị đầu cuối, nhưng các tệp không bị theo dõi vẫn đang hiển thị.
FrenkyB

@FrenkyB Bạn đã nhập chính xác vào thiết bị đầu cuối của bạn (hệ điều hành nào? Và bạn đang sử dụng phiên bản git nào?)
VonC

OS = Windows 10 Pro, phiên bản Tree Tree = 1.9.10.0, làm cách nào tôi có thể kiểm tra phiên bản GIT? Những gì tôi đã nhập vào thiết bị đầu cuối là: git commit -u --untracked-files = no. Tôi vẫn thấy những tập tin đó trong Source Tree.
FrenkyB
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.