Saya ingin melihat daftar file yang diubah sejak komit terakhir, seperti yang git status
ditunjukkan, tetapi saya hanya peduli tentang file yang terletak dalam satu direktori. Apakah ada cara untuk melakukan ini? Saya mencoba git status <directory>
, tetapi tampaknya ini melakukan sesuatu yang sama sekali berbeda (mencantumkan semua file yang diubah, seperti yang akan saya tulis git add <directory>
terlebih dahulu).
Dokumentasi untuk git-status tidak banyak menjelaskan, selain fakta bahwa ia menerima opsi yang sama dengan yang dilakukan git-commit (tetapi tujuan git-commit bukanlah untuk menampilkan daftar file yang diubah).
Alasan yang
git status
mengambil opsi yang samagit commit
adalah bahwa tujuannyagit status
adalah untuk menunjukkan apa yang akan terjadi jika Anda berkomitmen dengan opsi yang sama seperti yang Anda berikangit status
. Dalam halgit status
ini benar-benargit commit --preview
.Untuk mendapatkan apa yang Anda inginkan, Anda dapat melakukan ini yang menunjukkan perubahan bertahap:
dan ini, yang menunjukkan perubahan tidak bertahap:
atau ini yang menunjukkan keduanya:
sumber
git ls-files --others <directory_in_question>
atauls-files -o
.git ls-files -o
menampilkan file dalam direktori yang tidak dipentaskan secara rekursif, sedangkangit status
hanya menampilkan direktori level teratas. Dan seseorang harus membuatgit diff
,git ls-files
mengeluarkan dan membuat ulang semua kode warna dll. Yanggit status
menyediakan jika itu akan menjadi penggantinyagit status
. Saya juga sangat ingin melihat solusi untuk ini!Solusi paling sederhana:
git status | grep -v '\.\.\/'
Tentu saja ini membuang warna.
sumber
Sebagai catatan, jika Anda menyederhanakan untuk memeriksa statistik git tanpa membuka direktori git;
Dan menyebut bahwa script sederhana:
gitstat /path/to/foo-project
. Anda juga dapat menggunakannya saat sedangfoo-project
mengerjakangitstat .
dan jadi anggaplah lebih pendek darigit status -s
,git diff --stat
ataugit diff --stat HEAD
jika Anda selalu menggunakan konsol daripada gui.Kredit:
sumber