Bagaimana Anda menampilkan file yang tidak dilacak yang tidak ada di .gitignore

167

Saya menggunakan git status -uuntuk menampilkan file yang tidak dilacak. Dan di terminal, saya melihat banyak file yang tidak terlacak yang perlu saya lacak seperti tes unit, dokumentasi pribadi, dll. Saya telah memasukkannya .gitignore, tetapi tampaknya git statusmasih menunjukkannya.

Bagaimana Anda hanya menampilkan file yang tidak dilacak yang tidak ada di .gitignore.

justjoe
sumber
11
jika file yang tidak dilacak ditampilkan dalam status git, mereka tidak diabaikan oleh .gitignore dengan benar. dapatkah Anda menunjukkan kepada Anda struktur direktori yang berfungsi dan konten .gitignore?
maks
7
Setuju dengan @max, itu harus bekerja. Berikut dugaan liar: jika Anda menggunakan Windows, ketahuilah bahwa .gitignore, tidak seperti Windows, peka huruf besar-kecil. Jadi jika Anda mengabaikan * .txt dan ada Test.TXT pada disk, itu tidak akan diabaikan.
Joe White

Jawaban:

268

Anda dapat secara eksplisit mendaftar apa yang sedang dilacak dan dilacak sebagai berikut untuk melihat apakah Git melihat dan menghormati Anda .gitignore. Jika Anda memposting .gitignorekonten Anda , git statusoutput, dan diratau lskami dapat membantu Anda dengan lebih baik.

Daftar file yang diabaikan

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

Daftar file yang tidak terlacak

$ git ls-files . --exclude-standard --others
Matthew McCullough
sumber
3
Jika Anda melihat file yang menurut Anda tidak ada di .gitignore Anda, mungkin ada file lain yang bersembunyi di proyek Anda. Cari tahu dengan `find. -nama .gitignore`.
jpadvo
@ matthew-mccullough Jawaban yang bagus! Saya akan menambahkan beberapa alias untuk ini, terima kasih! @ jpadvo Bisakah Anda memberikan contoh penggunaan untuk findmetode?
lacostenycoder
Jika Anda ingin daftar pendek, katakan Anda mengabaikan node_modules dan tidak ingin melihat seluruh pohon, tambahkan --directoryjadi hanya folder tingkat atas yang diabaikan akan dicetak (ini lebih dekat dengan status git).
Henry Blyth
2
Untuk memperjelasnya, git ls-files --others --exclude-standard --ignoreddaftarkan file yang git ls-files --others --exclude-standardtidak terpantau yang tidak terpantau , dan yang tidak terpecah tidak diabaikan. Lebih lanjut di sini .
x-yuri
1
Perhatikan bahwa secara default git ls-files --otherstidak mencantumkan direktori kosong. Untuk membuat daftar direktori kosong tambahkan --directoryopsi. Ini tidak jelas dari halaman manual tetapi dapat disimpulkan. --directory: Jika seluruh direktori diklasifikasikan sebagai "lain", tampilkan hanya namanya (dengan garis miring) dan bukan seluruh isinya. . --no-empty-directory: Jangan daftar direktori kosong. Tidak memiliki efek tanpa --direktori.
catanman
-3
git update-index --no-assume-unchanged <file>
Brooks Folk
sumber
11
Harap tambahkan beberapa penjelasan untuk jawaban Anda
M Khalid Junaid
-6

Menggunakan:

git config status.showuntrackedfiles no 
Ohad Sadan
sumber
Pada versi rilis git saat ini, saya mengerti error: Invalid untracked files mode 'yes'ketika saya mencoba menggunakannya.
Mike
1
Nilai yang mungkin adalah no, normal, all. Dijelaskan di sini: git-scm.com/docs/git-config
Muhammad Gelbana
4
Ini tidak menjawab pertanyaan.
lacostenycoder