trạng thái git -> Hiển thị các tệp sẽ được thêm (theo giai đoạn) trong các thư mục con


88

Giả sử tôi bắt đầu một kho lưu trữ git trong một thư mục và tôi có một số thư mục con trong đó.

Tôi có một số mẫu nhấp nháy .gitignoređể loại trừ các tệp trong các thư mục con. Tuy nhiên, khi tôi thực hiện git status trước khi thực hiện bất cứ điều gì , trạng thái git chỉ hiển thị tên của các thư mục con sẽ được thêm vào, mà không nói rõ về tệp nào trong mỗi thư mục con sẽ được thêm (theo giai đoạn) nếu tôi làm như vậy git add ..

Tuy nhiên, điều thú vị git statuslà rõ ràng về các tệp sẽ được cam kết sau khi tôi xử lý tệp với git add ..

Có vấn đề gì để yêu cầu git statusrõ ràng về các tệp cho các tệp sẽ được dàn dựng không?

Câu trả lời:


147

Thử:

git status -u

hoặc dạng dài:

git status --untracked-files

sẽ hiển thị các tệp riêng lẻ trong các thư mục không được theo dõi.

Đây là mô tả chi tiết của -utùy chọn từ trang git-status man :

-u[<mode>]
--untracked-files[=<mode>]

Hiển thị các tệp không được theo dõi.

Tham số chế độ là tùy chọn (mặc định là all) và được sử dụng để chỉ định việc xử lý các tệp không được theo dõi; khi -ukhông được sử dụng, mặc định là normal, tức là hiển thị các tệp và thư mục chưa được theo dõi.

Các tùy chọn khả thi là:

  • no - Không hiển thị các tệp chưa được theo dõi
  • normal - Hiển thị các tệp và thư mục chưa được theo dõi
  • all - Cũng hiển thị các tệp riêng lẻ trong các thư mục không được theo dõi.

Có thể thay đổi mặc định bằng cách sử dụng status.showUntrackedFilesbiến cấu hình được ghi trong git-config (1) .


9

Bạn chỉ cần sử dụng

git add --dry-run .

trong thư mục gốc của kho lưu trữ cung cấp cho bạn danh sách bất kỳ tệp nào trong bất kỳ thư mục con nào sẽ được thêm vào trong khi xem xét .gitignore.



1

Làm thế nào về việc đặt một .gitignoretệp trong các thư mục con của bạn thay vì dọc theo dòng

# Ignore everything in this directory
*
# Except these file
!.gitignore
!file1
!file2
!file3

Tôi không có bất kỳ thứ gì trong của tôi .gitignoregiống như những gì bạn đã đăng (tức là bỏ qua các thư mục hoặc thư mục con có ngoại lệ). Ngoài ra, tại sao điều đó lại quan trọng? Nhân tiện, git statustrả về danh sách các tệp sẽ được cam kết chính xác sau khi dàn dựng với git add ..
Amelio Vazquez-Reina

1
Tôi biết bạn không. Xóa thư mục khỏi thư mục gốc .gitignorevà thêm thư mục này .gitignorevào thư mục con của bạn - bạn có thể có nhiều hơn một thư mục. Tổ Họ
Adrian Cornish

-1

sử dụng lệnh git git ls-files -o để liệt kê tệp không được theo dõi

thay vào đó -o sử dụng -c --cached Hiển thị các tệp được lưu trong bộ nhớ cache trong đầu ra (mặc định)

-d --deleted Hiển thị các tệp đã xóa trong đầu ra

-m --modified Hiển thị các tệp đã sửa đổi trong đầu ra


Câu hỏi này dành riêng cho việc hiển thị những tệp nào sẽ được thêm vào, trong khi tính đến .gitignore. Câu trả lời của bạn bỏ qua .gitignore.
Jared
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.