Ringkas perubahan (sisipan dan penghapusan) di Git [ditutup]


47

Saya ingin melihat bagaimana basis kode saya berkembang dari waktu ke waktu. GitHub memiliki +/-tampilan yang bagus di sepanjang daftar checkin yang memberikan kesan tentang ini. Apakah ada hal serupa yang dapat saya gunakan dengan repo yang saya hosti atau offline?


1
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena penggunaan alat khusus untuk pengembangan perangkat lunak. Pertanyaan-pertanyaan ini termasuk dalam Stack Overflow, tetapi pertanyaan ini terlalu lama untuk dimigrasi.
Thomas Owens

direkomendasikan membaca: Kemana pertanyaan git saya pergi?
nyamuk

Jawaban:


71

Ada beberapa opsi asli di Git untuk mendapatkan data tentang perubahan.

git log --stat akan menunjukkan jumlah setiap file diubah.

git whatchanged memberikan beberapa detail ke dalam file yang telah dimodifikasi.

git diff --stat <sha1> <sha2> memberi file dan jumlah perubahan antara dua komit.

Ada banyak blog lain yang memberikan berbagai log berformat. Pencarian google dapat mengarahkan Anda pada ini. Juga melakukan git log --helpakan memberikan berbagai opsi untuk memformat riwayat repo Anda. Git memiliki kemampuan untuk memberikan Anda sedikit data melalui berbagai logopsi baris perintah (pemfilteran oleh penulis, file, dll).


6
Cantik! Terima kasih. Sekarang saya juga melihat --numstatmenyediakan format alternatif yang kurang manis tapi bersih.
Potatoswatter

18
--shortstathanya akan mencetak total.
casey

1
perlu diingat bahwa git diff --stat <sha1> <sha2>itu tidak termasuk penyisipan dan penghapusan <sha1>, jadi Anda harus memasukkan shakomit sebelum <sha1>untuk memasukkan<sha1>
Vaibhav Vishal

18

Jika Anda tahu komit Anda ingin membandingkan, Anda bisa mencoba menggunakan yang git diffperintah dengan --statargumen. Ini memberikan output seperti ini:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
Selalu suka contoh yang berfungsi untuk kebanyakan kasus (KEPALA - 1) bukan abstraksi. Terima kasih Mike!
SimplGy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.