Saya hanya ingin mendapatkan daftar nama file yang dipentaskan. Saya tidak dapat menemukan bendera yang setara --name-only
untuk git status
perintah tersebut. Apa alternatif yang baik?
Daftar file akan dialihkan ke php -l
(pemeriksa sintaks lint PHP).
Solusi: perintah lengkap
git diff --name-only --cached | xargs -l php -l
git
git-status
Ward Bekker
sumber
sumber
Jawaban:
Gunakan
git diff --name-only
(dengan--cached
untuk mendapatkan file bertahap)sumber
Jawaban yang diterima tidak akan memberi tahu Anda jenis perubahan apa yang ada di sana.
Ya, Jika Anda bukan pemeriksa sintaks tetapi orang biasa dengan repositori yang penuh dengan file tidak bertahap, dan Anda masih ingin tahu apa yang akan terjadi pada file bertahap - ada perintah lain:
yang mengarah ke sesuatu seperti:
Jelas, file ini dipentaskan, dan setelah
git commit
:deleted_file
akan dihapus,new_file
akan ditambahkan,renamed_file
akan menjadirenamed_to
.Berikut penjelasan output format pendek: https://git-scm.com/docs/git-status#_short_format
sumber
Terinspirasi oleh jawaban @ coffman21 , saya telah menyiapkan alias berikut di saya
.zshrc
alias gst="git status" alias gst-staged="git status --short | grep '^\w.'" alias gst-unstaged="git status --short | grep '^\W.'" alias gst-unstaged-tracked="git status --short | grep '^\s.'" alias gst-untracked="git status --short | grep '^??'"
Mungkin berguna bagi orang lain. Jadi menambahkannya ke tumpukan jawaban.
sumber
.
di grep, untuk warna kedua 2 chars awal, seperti:grep '^\w.'
,grep '^\W.'
,grep '^\s.'
??
untuk melihat file bertahap dengan perubahan kode
atau menggunakan --cached yang merupakan sinonim untuk --staged
atau untuk melihat hanya nama file tanpa perubahan kode
git-diff manual
sumber