GIT Tricks

Share Button

Gün içerisinde sıklıkla kullandığım ufak GIT numaralarını sizlerle paylaşmak istedim.

Commit tarihçesini ağaç yapısı halinde göstermek için:

$ git log --graph --decorate --pretty=oneline --abbrev-commit

log: Commit tarihçesini görüntülemek için kullanılır.
–graph: Commit tarihcesinin ağaç yapısı şeklinde görselleştirilmesini sağlar.
–decorate: Dalların birleşme/ayrılma noktaların dal isimlerinni çıktıda görüntüler.
–pretty=oneline: Çıktıdaki her bir commit için tek bir satır görüntülenmesini sağlar.
–abbrev-commit: Commit hash inin 6 karakterden oluşan kısa formatıyla gösterilmesini sağlar.

Beliri bir commit aralığındaki logları görüntülemek için:

$ git log ..

log: Commit tarihçesini görüntülemek için kullanılır.
ref1…ref2 ref1/ref2, tag, dal veya commit gibi belirli bir GIT referansını temsil eder. Aralık alınacağı bilgisi referanslar arasına eklenen ‘..’ ile belirtilir.

Bir dalın, hangi commit den çıktığını görüntülemek için

$ git merge-base  <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

merge-base: Belirli bir dalın taban daldan ayrılma noktasını belirlemek için kullanılır.

Bir git dalının çıktığı noktadan itibaren gerçekleştirilen değişikliklerin listesini almak için:

$ git log $(git merge-base  <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]> )..<[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

Belirli bir commit aralığıında değişen dosyaların listesini görmek için

$ git diff --name-only <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>..<[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

diff: Belirli bir aralıkta meydana gelen değişiklikler ile ilgili bilgi sağlar.
–name-only: Çıktıda yalnızca dosya ismi görüntülenmesini sağlar.

Belirli bir commit aralığında değişen dosyaların listesini commit bazında görüntülemek için:

$ git log --name-only <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>..<[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

log: Commit tarihçesini görüntülemek için kullanılır.
–name-only: Her bir commit için çıktıda yalnızca dosya ismi görüntülenmesini sağlar.

Birden fazla dalın merge edildiği bir dalda, yalnızca o dala ait commitleri görüntülemek için:

$ git rev-list --first-parent <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

Yalnız commit hash listesini almak için:

$ git log --abbrev-commit --pretty=format:%h

log: Commit tarihçesini görüntülemek için kullanılır.
–abbrev-commit: çıktıda kısa commit hash lerinin listelenmesini sağlar.
–pretty=format:%h: Çıktıda yalnızca commit hash lerinin yeralmasını sağlar.

Belirli bir commit aralığında, commit tarihcesini tersten almak için:

$ git log --pretty=format:%h --reverse <[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>..<[branch_adi] | [commit_hash] | [ref_adi] | [HEAD]>

log: Commit tarihçesini görüntülemek için kullanılır.
–abbrev-commit: çıktıda kısa commit hash lerinin listelenmesini sağlar.
–pretty=format:%h: Çıktıda yalnızca commit hash lerinin yeralmasını sağlar.
–reverse: Commit tarihçesinin en eskiden en yeniye sıralanmasını sağlar.

Commit mesajı yazılmamış bir commit in hangi dalda geçtiğini bulmak için:

$ git branch -a --contains 

Belirli bir HEAD commit in hangi dala ait olduğunu öğrenmek için:

$ git rev-parse --abbrev-ref 
Share Button

About İbrahim Gündüz

1983 yılında İstanbul’da doğdu. İlkokul yıllarında cobol ve basic le olan tanışması, yazılıma olan ilgisini arttırdı 2005 yılında. Uludağ Üniversitesi Teknik Bilimler Meslek Yüksek Okulu Elektronik bölümünden mezun olan Gündüz, çeşitli alanlarda faaliyet gösteren kurumlarda yazılım geliştirici olarak görev almıştır.
Mesleki ilgi alanları, ölçeklenebilir sistemler, uygulama entegrasyonları ve ödeme sistemleridir.
Halen Markafoni back end geliştirici olarak çalışmaktadır.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir