Pada artikel ini, kita akan membahas beberapa opsi lanjutan untuk memformat dan mencetak log komit untuk mengambil informasi yang Anda butuhkan dari riwayat jurnal proyek Anda. Karena kita sudah tahu, menyimpan Jurnal perubahan yang dilakukan pada riwayat proyek, sekarang kita akan menjelajahi lebih banyak cara menggunakan perintah 'git log'.
Pertama, saya beralih-ke / memeriksa cabang 'feature1' untuk sejarah yang nyaman dan lebih singkat.
Gunakan perintah -
$cd myProj
–Beralih ke proyek git
$fitur git checkout1
–Melompat ke cabang 'feature1'
1. Format Komit
1.1 Cukup cetak konten keluaran dalam format tertentu
Sintaksis: git log --pretty [=]
dimana, bisa menjadi salah satu oneline, pendek, medium, penuh, lebih lengkap, surel, mentah, dan format:
Kapan = bagian dihilangkan, defaultnya adalah medium.
1.1.1 - interpretty = oneline
Cukup cetak komit log dalam 'satu baris'
Perintah: git log --pretty = oneline
Memformat keluaran secara berurutan:
1.1.2 –pretty = pendek
Format komit keluaran 'pendek' dalam format:
komit (refname)
Penulis:
1.1.3 - interpretty = media
Perintah: git log --pretty = medium
Cetak keluaran komit dalam format 'medium':
melakukan
Penulis :
Tanggal:
1.1.4 –pretty = penuh
Perintah: git log --pretty = full
Output dalam format:
komit (refname)
Penulis:
Melakukan:
1.1.5 –pretty = lebih lengkap
Perintah: git log --pretty = lebih lengkap
komit (refname)
Penulis:
AuthorDate :
Melakukan:
CommitDate:
1.1.6 –pretty = email
Perintah: git log --pretty = email
Cetak keluaran log dalam format gaya email:
Dari
Dari:
Tanggal:
Subyek: [PATCH]
1.1.7 –pretty = mentah
Perintah: git log --pretty = raw
Format keluaran log mentah menunjukkan seluruh komit persis seperti yang disimpan dalam objek komit.
melakukan
pohon
induk
penulis
melakukan
1.1.8 –format:: Pemformatan kustom
Formatnya memungkinkan Anda untuk menentukan informasi mana dari objek komit yang ingin Anda cetak di log keluaran komit
Mari kita pertimbangkan berbagai placeholder yang disediakan opsi ini seperti fungsi 'C printf' dengan bantuan cuplikan kode:
Perintah: git log --pretty = format: '% h% ad | % s% d [% an] '--date = short
Format output:
| [nama penulis]
% h = ID hash-id / sha1commit dipersingkat
% H = panjang sha-1 id
%untuk = tanggal penulisan
% s = komit baris judul subjek
% d = referensi penunjuk (cabang, tag) nama
%sebuah = nama penulis
-tanggal = short: Cetak hanya tanggal dan bukan waktu dalam format yang dapat dibaca
Sekarang, bagaimana membuat keluaran ini lebih ramah manusia, menggunakan warna.
Perintah:
git log --pretty = format: '% C (kuning)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--tanggal = pendek
Beberapa placeholder lain yang digunakan dalam cuplikan kode di atas adalah:
% C (kuning) : Putar string berikut menjadi kuning
% Creset : Atur ulang string berikut kembali ke warna default (putih)
% Cgreen : ubah string berikut menjadi hijau
%Saya tebak: Ubah string berikut menjadi merah
% Cblue: Buat nama penulis berwarna biru
Anda tidak perlu mengingat dan menulis seluruh perintah setiap saat, cukup gunakan nama pendek sebagai git alias seperti yang ditunjukkan di bawah ini:
Perintah:
git config --global alias.c-hist 'log --pretty = format:'% C (kuning)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'
“C-hist” mewakili c ustomized- hist ory
Jadi, seperti yang akan Anda amati, saya menetapkan global saya konfigurasi git file dengan nilai.
cara menggunakan operator bitwise di java
Sekarang, untuk memeriksa sejarah cabang saat ini yang harus Anda lakukan adalah menjalankan perintah, seperti ini:
Perintah: pergi c-hist
1.2 –abbrev-commit: Persingkat git commit hash-id
Perintah: git log --abbrev-commit
Nama objek komit heksadesimal 40 byte penuh disingkat menjadi 7-byte default.
Mari kita gabungkan dengan '--oneline
'Pilihan untuk tampilan yang nyaman, seperti:
Perintah: git log --abbrev-commit --oneline
Yang lebih menarik adalah Anda juga dapat menentukan panjang byte dari sha-1 id menggunakan opsi '–abbrev =', seperti yang ditunjukkan di bawah ini:
Perintah: git log --abbrev-commit --abbrev = 5 --oneline
Jelas, id sha-1 yang disorot dikurangi menjadi ukuran 5-byte.
1.3 –tidak ada singkatan-komit
Tampilkan nama objek komit heksadesimal 40 byte penuh.
Ini meniadakan –Abbrev-commit dan opsi-opsi yang menyiratkanseperti “–oneline”.
Perintah: git log --pretty = oneline --no-shortv-commit
1.4 -tanggal-relatif
Perintah: git log --relative-date
Mohon dicatat, waktu yang disorot ini dapat berubah dengan mengacu pada waktu Anda menjalankan perintah di sistem Anda.
1,5 –tanggal =
Anda juga dapat memformat tanggal log komit dalam salah satu opsi format berikut:
1.5.1 –tanggal = relatif
Perintah :git log --date = relative
Ini identik dengan perintah di atas 'git log --relative-date
”Dan mencetak komitmen yang sama.
1.5.2 –tanggal = lokal
Perintah : git log --date = lokal
1.5.3 –tanggal = iso
Perintah: git log --date = iso
1.5.4 –tanggal = iso-ketat
Perintah: git log --date = iso-strict
1.5.5 –tanggal = rfc
Perintah: git log --date = rfc
1.5.6 –tanggal = pendek
Perintah: git log --date = short
1.5.7 –date = raw (menunjukkan tanggal dalam detik)
Perintah: git log --date = raw
Cetak waktu sebagai detik sejak unix epoc waktu (Jan 01 1970) diikuti oleh zona waktu.
1.5.8 –tanggal = manusia
Perintah: git log --date = manusia
1.5.9 –tanggal = unix
Menunjukkan tanggal sebagai unix epoc (UTC) waktu.
Perintah: git log --date = unix
1.6 - orang tua
Cetak juga orang tua dari setiap komit dalam format:
Perintah: git log --parents
Perintah keluaran Oneliner: git log --parents --oneline
Poin yang perlu diperhatikan:
C366419 adalah komit gabungan, sehingga masing-masing memiliki 2 orang tua: feeb30c dan 4920adc
Juga
1d67b50 adalah komit gabungan, yang dihasilkan dari penggabungan f2ff2e4 dan abb694b
078f9f5 adalah komit gabungan yang dibuat dengan menggabungkan 9a2412e dan ab3a5e5
Sedangkan, 86792c6 adalah komit awal, karenanya tidak ada orang tua.
1.7 -Anak-anak
Cetak juga anak-anak di formulir
Perintah: git log --children --oneline
Catatan :
006b9ce adalah komit terbaru, sehingga belum ada objek komit turunan. Perubahan berikutnya yang Anda buat dan komit pada cabang ini akan menjadi objek komit anak dari id sha-1 terbaru ini.
1,8 –graf
Gambarlah representasi grafis berbasis teks dari riwayat komit sebelum id sha-1.
Perintah: git log --graph
Output satu jalur yang ditingkatkan: git log --graph --oneline
Ini memungkinkan Anda memahami kapan, bagaimana dan mengapa dan cabang lain digabungkan ke dalam cabang yang saat ini diperiksa.
1.9 - tampilkan-linear-break
Perintah: git log --show-linear-break
Ini adalah perintah yang berguna, untuk menunjukkan penghalang antara 2 komit berurutan yang bukan milik cabang linier, dengan kata lain komit yang berasal dari cabang berbeda.
Bandingkan keluaran di atas dengan keluaran perintah 'git log –graph' yang dengan jelas menunjukkan bagaimana komit 'linear-break' digabungkan.
Bonus: Ringkas keluaran log git: ‘git shortlog’
'git shortlog
'Perintah mengkategorikan pembuat log komit secara bijaksana dan mencetak ringkasan ikhtisar, menunjukkan komitmen yang dibuat oleh setiap penulis.
Perintah: git log shortlog
Perintah : git log shortlog -s
-s adalah singkatan dari –summary, menyembunyikan deskripsi komit dan hanya mencetak jumlah komit oleh setiap penulis, seperti ini:
Selain itu, Anda juga dapat memformat output menggunakan placeholder yang sama seperti yang dibahas di bawah '--pretty = format
' pilihan
Coba perintah: git shortlog --format = '% h | % s '
Oleh karena itu, Anda harus setuju bahwa keluaran ini lebih masuk akal karena menampilkan id dan untuk setiap penulis bersama dengan jumlah komit total.
Catatan : Menarik untuk dicatat bahwa Anda dapat dengan mudah menemukan cabang yang membuat komit tertentu. Diskusi ini layak untuk dibahas di artikel mendatang secara mendalam.
Jadi dengan itu, kita sampai pada akhir iniRiwayat format log Gitblog, saya harap Anda menemukannya informatif.
Dalam posting ini, kami mempelajari beberapa teknik pemformatan yang mencetak informasi proyek dengan cara yang lebih disesuaikan dan ramah pengguna. Anda sekarang harus tahu cara menggunakan parameter perintah 'git log' secara efektif untuk menarik informasi apa pun yang Anda butuhkan tentang kode sumber dari riwayat yang Anda lakukan. Jadi dengan itu, kami sampai pada akhir artikel ini, saya harap Anda menemukannya informatif.
Jika Anda penasaran untuk mempelajari lebih lanjut, Anda dapat melihat ini oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Pelatihan Sertifikasi DevOps Edureka membantu peserta didik untuk memahami apa itu DevOps dan mendapatkan keahlian dalam berbagai proses dan alat DevOps seperti Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack, dan GIT untuk mengotomatiskan berbagai langkah di SDLC.
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar artikel ini di 'Riwayat format log Git' dan kami akan menghubungi Anda kembali.