Bagaimana cara menggunakan Git Log untuk memformat riwayat komit?



Git adalah alat yang membantu mengatur dan mengelola kode sumber aplikasi Anda. Pelajari semua tentang perintah riwayat format log git dan cara menggunakannya.

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:




Komit - riwayat format log Git - Edureka

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 menyiratkan
seperti “–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.