Apakah mungkin git status
dan hanya menampilkan file yang dimodifikasi?
Masalahnya adalah saya memiliki terlalu banyak file bertahap yang tidak ingin saya komit atau gitignore saat ini dan saya tidak dapat menggulir ke atas. Saya memiliki batas scrollback yang ditetapkan pada Ubuntu.
git status
akan memanggil pager.--short
atau--porcelain
untuk mendapatkan versi satu-baris dari status.git ls-files -m
: modifikasi mana yang Anda pedulikan, panggung, tidak panggung, atau keduanya?Jawaban:
Anda tidak dapat melakukan ini dengan
git status
, tetapi Anda bisa menggunakangit ls-files -m
untuk menampilkan semua file yang dimodifikasi.sumber
git status | grep modified
seperti yang ditunjukkan oleh user23186 dalam jawaban mereka.git ls-files -m
tidak menunjukkan apa-apa tetapigit status | grep modified
berfungsi.git diff --name-only --diff-filter=M HEAD
akan menunjukkan hanya file yang dimodifikasi untuk dipentaskan dan tidak dipentaskan, meskipun Anda harus memeriksa dokumen--diff-filter
untuk melihat jenis filter apa yang ingin Anda tambahkan.Sepertinya hanya
git status -uno
akan memperlihatkan file-file yang dilacak git, tanpa menunjukkan apa pun di direktori. Tidak persis apa yang Anda minta, tetapi mungkin mencapai hal yang sama (mendapatkan daftar panjang file yang dapat dibaca git track).sumber
git status -u no
tidak menunjukkan (1) file yang dilacak yang dimodifikasi, atau (2) file yang dilacak yang dipentaskan. Saya telah memverifikasi ini dengan versi git 1.8.5.2 dan 1.9.4.git status -uno
( stackoverflow.com/questions/7008546/… )sumber
awk '$1 == "M" { print $2 }'
Untuk file yang dimodifikasi:
sumber
git config --global alias.modified '!git status | grep modified:'
git diff --name-only --diff-filter=M
sumber
git diff --cached --name-only --diff-filter=ACMR
yang menambahkan, menyalin, memodifikasi dan mengganti nama file.git diff --name-only
bekerja juga.sumber
Saya sedang mencari info yang sama dan menemukan berikut ini memberikan file yang dimodifikasi:
sumber
git status -uno --porcelain
menambahkan output yang bagus untuk skrip parsingKamu bisa memakai
untuk daftar hanya file yang dimodifikasi.
sumber
Meskipun ini mungkin tidak secara langsung menjawab pertanyaan tentang hanya mendaftarkan file yang diubah, ini dapat membantu membatasi jumlah file yang terdaftar.
Anda dapat melewati jalur untuk
git status
membatasi output ke folder tertentu di repo.Sebagai contoh:
sumber
Untuk membuat daftar file yang dimodifikasi, gunakan:
Jika Anda hanya menginginkan nama bas (tidak ada jalur) maka Anda dapat menyalurkan setiap hasil ke perintah nama bas menggunakan xargs, baris demi baris:
sumber
Saya menggunakan perintah ini:
Dan hasilnya terlihat seperti ini:
sumber
Saya menggunakan
git cola
. Ini adalah klien UI yang sederhana dan elegan yang akan menunjukkan kepada Anda file yang dimodifikasi dan memberi Anda suntikan berbeda dari perubahan yang Anda buat.git cola
memberi Anda GUI di mana Anda dapat memvisualisasikan file mana yang Anda modifikasi, yang Anda tampilkan, dan bahkan yang tidak Anda lacak. Pertanyaan Anda adalah menggunakan status git saja, saya percaya, tapi saya pikir git cola dapat membantu saat itu dan hal-hal lain juga. Periksa halaman web ini dari info lebih lanjut: git-cola.github.com/screenshots.htmlsumber
Jika Anda ingin membuat daftar file yang dimodifikasi, Anda dapat melakukan ini:
git log -n1 --oneline --name-status | grep '^M'
sumber
Untuk membuat daftar semua file yang dimodifikasi, gunakan:
sumber
Semua jawaban bagus; hanya FEI, "git checkout" (beralih ke atau di cabang yang sama) tampaknya hanya menampilkan file yang dimodifikasi.
sumber
OS: windows
Perintah berikut akan menampilkan semua baris yang mengandung "modified:" , "rename:" atau "file baru:"
Jika Anda ingin menentukan jenis file: (misalnya
*.py
*.ini
)Jika menurut Anda terlalu banyak kesulitan mengetik:
buat file batch (misalnya
st.bat
:)tulis konten sebagai berikut:
tambahkan path lingkungan yang berisi file batch Anda. (
st.bat
)pemakaian
(catatan: jika ketik> 1 maka harus menambahkan titik koma)
OS: LINUX
seperti @ Lance bilang kamu bisa mencoba
git status | grep modified:
sumber