Git danh sách các tệp theo giai đoạn


112

Tôi đã dàn dựng rất nhiều tệp bằng cách sử dụng git add, bây giờ tôi muốn xem tất cả các tệp mà tôi đã dàn, không có tệp chưa được theo dõi hoặc tệp đã thay đổi nhưng chưa được phân giai đoạn .

Làm thế nào để làm điều đó? Khi sử dụng, git diff --cachedtôi có thể thấy những thay đổi của những gì tôi vừa dàn dựng. Vì vậy, sau đó tôi đã thử sử dụng git status --cachednhưng --cachedrất tiếc điều đó không hoạt động git status.


4
chỉ cần nhập git statussẽ cung cấp cho bạn danh sách các tệp theo giai đoạn, danh sách các tệp đã sửa đổi nhưng chưa được phân giai đoạn và danh sách các tệp chưa được theo dõi.
houtanb


@houtanb, git statuscho bạn thấy một điểm khác biệt. (Nó không hiển thị cho bạn tất cả các tệp theo giai đoạn).
Pacerier

Câu trả lời:


198

Cách tốt nhất để làm điều này là chạy lệnh:

git diff --name-only --cached

Khi bạn kiểm tra hướng dẫn sử dụng, bạn có thể sẽ tìm thấy những điều sau:

--name-only
    Show only names of changed files.

Và trên phần ví dụ của sách hướng dẫn:

git diff --cached
    Changes between the index and your last commit.

Kết hợp với nhau bạn sẽ có được changes between the index and your last commitShow only names of changed files.

Cập nhật: --stagedcũng có sẵn dưới dạng bí danh --cachedở trên trong các phiên bản git gần đây hơn.


13
Điều này thực sự hữu ích vì nó cho phép bạn nhận được danh sách các tên tệp mà sau đó (trong trường hợp của tôi) bạn có thể chuyển đến một linter trong một hook pre-commit.
walrus

5
Nếu bạn thêm tệp với git add -N [files], điều này cũng bao gồm cả những tệp đó, mặc dù chúng chưa thực sự được tổ chức để cam kết. Do đó, nó không hoàn toàn chính xác những gì chúng ta muốn cho một hook pre-commit.
Pistos

lại " lần cam kết cuối cùng "; Gây hiểu lầm. Tốt hơn để nói git diff --cachedlà viết tắt củagit diff --cached head
Pacerier
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.