Bagaimana menggunakan Log Git untuk memformat sejarah komit?



Git adalah alat yang membantu mengatur dan mengurus kod sumber aplikasi anda. Ketahui semua tentang perintah sejarah format log git dan cara menggunakannya.

Dalam artikel ini, kami akan membincangkan beberapa pilihan lanjutan untuk memformat dan mencetak log komitmen untuk mengambil maklumat yang anda perlukan dari sejarah jurnal projek anda. Oleh kerana kita sudah tahu, menyimpan Jurnal mengenai perubahan yang dilakukan terhadap sejarah projek, kita sekarang akan meneroka lebih banyak cara perintah ‘git log’ bermanfaat.

Pertama, saya beralih ke / memeriksa cabang 'feature1' untuk mengetahui sejarah yang mudah dan pendek.
Gunakan arahan -





$cd myProj- Beralih ke projek git

$ciri git checkout1–Melompat ke cabang ‘feature1’



1. Komit Pemformatan

1.1 Mencetak kandungan output dalam format tertentu

Sintaks: git log - cantik [=]

di mana, boleh menjadi salah satu satu garisan, pendek, sederhana, penuh, lebih kenyang, e-mel, mentah, dan format:
Bila = bahagian dihilangkan, ia lalai sederhana.

1.1.1 –cantik = dalam talian

Log cetak cetak cantik dalam 'satu baris'
Perintah: git log --pretty = dalam talian
Memformat output mengikut urutan:




Komit - Sejarah format log Git - Edureka

1.1.2 –cantik = pendek

Format output output ‘pendek’ dalam format:
komit (nama semula)
Pengarang:



1.1.3 –cantik = sederhana

Perintah: git log --pretty = sederhana
Cetak output komit dalam format 'medium':
komited
Pengarang :
Tarikh:


1.1.4 –cantik = penuh

Perintah: git log --pretty = penuh
Output dalam format:
komit (nama semula)
Pengarang:
Komited:


1.1.5 –cantik = lebih kenyang

Perintah: git log --pretty = lebih lengkap
komit (nama semula)
Pengarang:
Tarikh Pengarang :
Komited:
Tarikh Komitmen:


1.1.6 –cantik = e-mel

Perintah: git log --pretty = e-mel
Cetak output log dalam format gaya e-mel:
Dari
Dari:
Tarikh:
Subjek: [PATCH]


1.1.7 –cantik = mentah

Perintah: git log --pretty = mentah
Format output log mentah menunjukkan keseluruhan komit sama seperti yang disimpan di objek komit.
komited
pokok
ibu bapa
pengarang
komited

1.1.8 –format:: Pemformatan tersuai

Formatnya membolehkan anda menentukan maklumat mana dari objek komit yang ingin anda cetak dalam log output komit
Mari kita pertimbangkan pelbagai placeholder yang disediakan oleh pilihan ini seperti fungsi 'C printf' dengan bantuan coretan kod:

Perintah: git log --pretty = format: '% h% iklan | % s% d [% an] '- tarikh = pendek
Format output:
| [nama pengarang]

% h = Id hash-id / sha1commit yang dipendekkan
% H = id sha-1 panjang
% hingga = tarikh dikarang
% s = komited baris tajuk tajuk
% d = nama penunjuk rujukan (cabang, tag)
% an = nama pengarang
-Tarikh = pendek: Cetak hanya tarikh dan bukan masa dalam format yang boleh dibaca

Sekarang, bagaimana menjadikan output ini lebih mesra manusia, menggunakan warna.
Perintah:
git log --pretty = format: '% C (kuning)% h% Creset% iklan | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '- tarikh = pendek


Beberapa tempat letak lain yang digunakan dalam coretan kod di atas adalah:
% C (kuning) : Putarkan rentetan berikut menjadi kuning
% Creset : Tetapkan semula rentetan berikut kembali ke warna lalai (putih)
% Cgreen : ubah rentetan berikut menjadi hijau
%Saya agak: Tukar rentetan berikut menjadi merah
% Cblue: Jadikan nama pengarang berwarna biru

Anda tidak perlu mengingat dan menulis keseluruhan arahan setiap kali, hanya menggunakan nama pendek sebagai git alias seperti yang ditunjukkan di bawah:
Perintah:
git config --global alias.c-hist 'log --pretty = format:'% C (kuning)% h% Creset% iklan | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '- tarikh = pendek'

'C-hist' mewakili c digunakan- sejarah ory
Jadi, seperti yang anda perhatikan, saya menetapkan global saya konfigurasi git fail dengan nilai.

mengawal penyataan aliran di java

Sekarang, untuk memeriksa sejarah cawangan semasa yang perlu anda lakukan adalah menjalankan perintah, seperti:
Perintah: pergi c-hist

1.2 –abbrev-commit: Memendekkan git commit hash-id

Perintah: git log --abbrev-komit
Nama objek komited heksadesimal 40-byte dipendekkan menjadi 7-bait lalai.


Mari kita jadikannya dengan ‘--satu garisan'Pilihan untuk pemandangan yang selesa, seperti:
Perintah: git log --abbrev-komit - dalam talian

Yang lebih menggembirakan ialah anda juga dapat menentukan panjang bait id sha-1 menggunakan pilihan ‘–abbrev =’, seperti yang ditunjukkan di bawah:
Perintah: git log --abbrev-commit --abbrev = 5 - dalam talian



Jelas, id sha-1 yang diserlahkan dikurangkan menjadi ukuran 5-bait.

1.3 –no-abbrev-komit

Tunjukkan nama objek komitmen heksadesimal 40 byte penuh.
Ini menafikan –Abrev-komited dan pilihan yang menunjukkan
seperti '–nline'.
Perintah: git log --pretty = dalam talian --no-abbrev-komit



1.4 - tarikh relatif

Perintah: log git - tarikh relatif

Harap maklum, waktu yang disorot ini dapat berubah dengan merujuk pada waktu anda menjalankan perintah pada sistem anda.

1.5 – tarikh =

Anda juga dapat memformat tarikh log komit dalam salah satu pilihan format berikut:

1.5.1 –tarikh = relatif

Perintah :git log - tarikh = relatif
Ini sinonim dengan arahan di atas “log git - tarikh relatif'Dan mencetak komit yang sama.

1.5.2 –tarikh = tempatan

Perintah : git log - tarikh = tempatan

1.5.3 –tarikh = iso

Perintah: git log - tarikh = iso

1.5.4 - tarikh = ketat

Perintah: git log - tarikh = ketat

1.5.5 - tarikh = rfc

Perintah: git log - tarikh = rfc

1.5.6 –tarikh = pendek

Perintah: git log - tarikh = pendek

1.5.7 - tarikh = mentah (menunjukkan tarikh dalam beberapa saat)

Perintah: git log - tarikh = mentah
Cetak masa sebagai saat sejak unix epoc masa (01 Jan 1970) diikuti oleh zon waktu.

1.5.8 –tarikh = manusia

Perintah: git log - tarikh = manusia

1.5.9 –tarikh = unix

Menunjukkan tarikh sebagai unix epoc (UTC) masa.
Perintah: git log - tarikh = unix

1.6 - ibu bapa

Cetak juga ibu bapa setiap komitmen dalam format:
Perintah: git log - ibu bapa
Perintah output Oneliner: git log - ibu bapa - dalam talian

Perkara yang perlu diberi perhatian:
C366419 adalah gabungan, oleh itu mempunyai 2 ibu bapa masing-masing: feeb30c dan 4920adc
Begitu juga

1d67b50 adalah gabungan, yang dihasilkan daripada penggabungan f2ff2e4 dan abb694b
078f9f5 adalah komitmen penggabungan yang dibuat dengan penggabungan 9a2412e dan ab3a5e5
Manakala, 86792c6 adalah komitmen awal, oleh itu tidak ada ibu bapa.

1.7 - kanak-kanak

Cetak juga anak-anak dalam bentuk
Perintah: git log - kanak-kanak - dalam talian

Catatan :
006b9ce adalah komitmen terbaru, oleh itu belum ada anak yang melakukan objek. Perubahan seterusnya yang anda buat dan komit pada cabang ini akan menjadi objek komitmen anak dari id sha-1 terbaru ini.

1.8 –graf

Lukiskan representasi grafik berdasarkan teks mengenai sejarah komit sebelum sha-1 id.
Perintah: git log --gr
Keluaran oneliner yang lebih baik: git log --graph - dalam talian


Ini membolehkan anda memahami kapan, bagaimana dan mengapa dan cawangan lain digabungkan ke cawangan yang sedang diperiksa.

1.9 –menunjukkan pecahan linear

Perintah: git log - tunjuk-linear-putus
Ini adalah perintah yang berguna, untuk menunjukkan penghalang antara 2 komit berturut-turut yang bukan tergolong dalam cabang linear, dengan kata lain komit yang datang dari cabang yang berlainan.


Bandingkan output di atas dengan output perintah ‘git log –graph’ yang menunjukkan dengan jelas bagaimana komit “linear-break” telah digabungkan.

Bonus: Ringkaskan output log git: ‘git shortlog’

The ‘jalan pintas git'Perintah mengkategorikan komit log log pengarang dan mencetak ringkasan gambaran keseluruhan, menunjukkan komitmen yang dibuat oleh setiap pengarang.
Perintah: pintasan log git

Perintah : pintasan log git -s
-s bermaksud -summary, menekan deskripsi komit dan hanya mencetak jumlah komit oleh setiap pengarang, seperti:

Selain itu, anda juga dapat memformat output menggunakan tempat letak yang sama seperti yang dibahas di bawah '--pretty = format'Pilihan
Cuba arahan: git shortlog --format = '% h | % s '

Oleh itu, anda akan bersetuju bahawa output ini lebih masuk akal kerana menunjukkan id dan id untuk setiap pengarang bersama dengan jumlah komit.

Catatan : Sangat menarik untuk diperhatikan bahawa anda dapat dengan mudah menemukan cabang yang membuat komitmen tertentu. Perlu dilakukan perbincangan ini dalam artikel yang akan datang secara mendalam.

Oleh itu, kita akan mengakhiri iniSejarah format log Gitblog, saya harap anda menganggapnya bermaklumat.

Dalam catatan ini, kami mempelajari beberapa teknik pemformatan yang mencetak maklumat projek dengan cara yang lebih disesuaikan dan mesra pengguna. Anda sekarang harus tahu cara menggunakan parameter perintah 'git log' dengan berkesan untuk mengeluarkan maklumat yang anda perlukan mengenai kod sumber dari sejarah komitmen anda. Oleh itu, kita sampai pada akhir artikel ini, saya harap anda menganggapnya bermaklumat.

Sekiranya anda ingin tahu lebih lanjut, anda boleh melihatnya oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus Latihan Persijilan Edureka DevOps membantu pelajar memahami apa itu DevOps dan memperoleh kepakaran dalam pelbagai proses dan alat DevOps seperti Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack dan GIT untuk mengautomasikan beberapa langkah dalam SDLC.

Ada soalan untuk kami? Sila sebutkan di bahagian komen artikel ini mengenai 'Sejarah format log Git' dan kami akan menghubungi anda.