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:
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 menunjukkanseperti '–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.