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?

Potatoswatter
sumber
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).

Schleis
sumber
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(-)
Mike Gossmann
sumber
2
Selalu suka contoh yang berfungsi untuk kebanyakan kasus (KEPALA - 1) bukan abstraksi. Terima kasih Mike!
SimplGy