Bagaimana saya melakukan 'git status' sehingga tidak menampilkan file yang tidak dilacak tanpa menggunakan .gitignore?

317

Bagaimana cara saya melakukannya git statussehingga tidak menampilkan file yang tidak dilacak tanpa menggunakan .gitignore? Saya ingin mendapatkan informasi status modifikasi hanya pada file yang dilacak.

Ross Rogers
sumber

Jawaban:

498

Gunakan ini:

git status -uno

yang setara dengan:

git status --untracked-files=no

Agak tersembunyi di manual, tetapi halaman manual untuk status mengatakan "mendukung opsi yang sama dengan git-commit", jadi di situlah Anda harus melihat.

Daniel Bruce
sumber
1
Di mana Anda menulis ini? Ke dalam terminal atau ke dalam file?
FrenkyB
1
Itu adalah operasi command-line; bukan edit file konfigurasi git.
Ross Rogers
Bagaimana jika saya telah melakukan, git reset --hard <commit id>, maka saya git status -uno, tidak ada yang muncul, hanya file yang tidak terlacak yang ditampilkan
Snow Bases
130

Juga:

git config status.showuntrackedfiles no
Bombe
sumber
9
Ini bagus untuk repo yang selalu memiliki file yang tidak terlacak seperti di direktori home Anda untuk file-file dot.
Dave
15
Dave, Mungkin .gitignoredaftar adalah yang terbaik untuk "tidak dikenal", sedangkan Anda mungkin ingin melihat "tidak dikenal" yang muncul lagi.
Ross Rogers
15

Perhatikan bahwa sejak itu git 1.8.3 (April, 22d 2013) , Anda akan tahu tentang --untracked-files=nobahkan jika Anda tidak menambahkan opsi itu di tempat pertama!

"git status " menyarankan pengguna untuk melihat ke --untracked-files=noopsi penggunaan saat terlalu lama.

Lihat komit https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

Dalam beberapa repositori, pengalaman pengguna bahwa git statusperintah " " membutuhkan waktu lama.
Perintah menghabiskan beberapa waktu mencari sistem file untuk file yang tidak terlacak.

Jelaskan trade-off yang dikejutkan oleh pilihan default normal untuk membantu pengguna membuat pilihan yang tepat lebih baik, sebelum berbicara tentang variabel konfigurasi.

Itu git status dokumentasi sekarang menyatakan:

Ketika -uopsi tidak digunakan, file dan direktori yang tidak dilacak ditampilkan (yaitu sama dengan menentukan normal), untuk membantu Anda menghindari lupa menambahkan file yang baru dibuat.
Karena butuh kerja ekstra untuk menemukan file yang tidak terlacak dalam sistem file, mode ini mungkin memerlukan waktu dalam pohon kerja yang besar.
Kamu bisa memakaino untuk git statuskembali lebih cepat tanpa menampilkan file yang tidak terlacak
.

Default dapat diubah menggunakan status.showUntrackedFilesvariabel konfigurasi yang didokumentasikan di git config.

VONC
sumber
2
@ Teripang terima kasih. Saya telah mengedit jawaban untuk menyertakan tautan yang tepat, serta menambahkan komit yang tepat di mana perubahan tersebut diperkenalkan.
VonC
Saya baru mengenal git - dapatkah Anda memberi tahu saya di mana harus menulis perintah ini untuk tidak menampilkan file yang tidak terlacak? Saya sudah mencoba untuk menulisnya ke terminal, tetapi file yang tidak terlacak masih ditampilkan.
FrenkyB
@FrenkyB Apa yang Anda ketikkan persis di terminal Anda (OS mana? Dan versi git mana yang Anda gunakan?)
VonC
OS = Windows 10 Pro, versi Source Tree = 1.9.10.0, bagaimana saya bisa memeriksa versi GIT? Yang saya ketik di terminal adalah: git commit -u --untracked-files = no. Saya masih melihat file-file itu di Source Tree.
FrenkyB