Daftar Git dari file bertahap

112

Saya mementaskan banyak file menggunakan git add, sekarang saya ingin melihat semua file yang telah saya susun, tanpa file yang tidak terlacak atau diubah tetapi file tidak bertahap .

Bagaimana aku melakukan itu? Saat menggunakan git diff --cachedsaya dapat melihat perubahan dari apa yang baru saja saya susun. Jadi kemudian saya mencoba menggunakan git status --cachedtetapi --cachedsayangnya tidak berhasil git status.

Timon de Groot
sumber
4
hanya dengan mengetik git statusmemberi Anda daftar file bertahap, daftar file yang dimodifikasi namun tidak bertahap, dan daftar file yang tidak terlacak.
houtanb
mirip dengan: stackoverflow.com/questions/1587846/…
rickfoosusa
@houtanb, git statusmenunjukkan perbedaan. (Ini tidak menampilkan semua file bertahap).
Pacerier

Jawaban:

199

Cara terbaik untuk melakukannya adalah dengan menjalankan perintah:

git diff --name-only --cached

Saat Anda memeriksa manual, kemungkinan besar Anda akan menemukan yang berikut:

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

Dan pada contoh bagian manual:

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

Jika digabungkan, Anda mendapatkan changes between the index and your last commitdanShow only names of changed files.

Pembaruan: --stagedjuga tersedia sebagai alias --cacheddi atas dalam versi git yang lebih baru.

Timon de Groot
sumber
13
Ini sangat berguna karena memungkinkan Anda untuk mendapatkan daftar nama file yang kemudian dapat Anda (dalam kasus saya) pipa ke linter dalam hook pra-komit.
walrus
5
Jika Anda menambahkan file dengan git add -N [files], ini termasuk file tersebut, meskipun sebenarnya file tersebut belum dipentaskan untuk komit. Dengan demikian, itu tidak persis seperti yang kita inginkan untuk hook pra-komit.
Pistos
kembali " komit terakhir "; Menyesatkan. Lebih baik dikatakan git diff --cachedadalah kependekan darigit diff --cached head
Pacerier