git'te şube topolojisini görselleştirme
Kendi makinemde git ile tek başıma oynuyorum ve tüm dallarımın ve taahhütlerimin zihinsel bir modelini sürdürmekte zorlanıyorum. Bulunduğum yerden commit geçmişini görmek için bir git log
yapabileceğimi biliyorum, ancak tüm şube topografyasını görmenin bir yolu var mı, dalları açıklamak için her yerde kullanılıyor gibi görünen bu ascii haritaları gibi bir şey?
.-A---M---N---O---P
/ / / / /
I B C D E
\ / / / /
`-------------'
Sanki biri gelip benim depomu almaya kalksa tam olarak ne olup bittiğini anlamakta zorluk çekecekmiş gibi geliyor.
Sanırım AccuRev'in akış tarayıcısından etkilendim...
830
3
git log --graph
veya
gitk. (Her ikisi de sadece mevcut dal yerine tüm dalları gösterecek olan
--all` seçeneğini de kabul eder).Düzenle: Şube adları ve kompakt bir görünüm için deneyin:
git log --graph --decorate --oneline
Ben genellikle
Renklerle (eğer kabuğunuz Bash ise):
Bu, metin tabanlı gösterimi aşağıdaki gibi yazdıracaktır:
(Sadece
git log --format=oneline
kullanabilirsiniz, ancak bu işlem mesajlarını sayılara bağlayacaktır, bu da IMHO'da daha az güzel görünecektir).Bu komutun kısayolunu oluşturmak için
~/.gitconfig
dosyanızı düzenlemek isteyebilirsiniz:Ancak, Sodel the Vociferous'un yorumlarda belirttiği gibi, bu kadar uzun biçimlendirme komutunu ezberlemek zordur. Genellikle,
~/.gitconfig
dosyasına koyabileceğiniz için sorun olmaz. Ancak, bazen yapılandırma dosyasını değiştiremeyeceğiniz uzak bir makinede oturum açmanız gerekiyorsa, daha basit ama yazması daha hızlı bir sürüm kullanabilirsiniz:Ben
git log
ile yapmayı seviyorum:(ayrıca --all ile, uzak şubeleri de görüntülemek için)
Son Git sürümleriyle çalışır: tanıtıldı 1.6.3'ten beri (Per, 7 Mayıs 2009)
Ayrıca günlük görüntüleme süresini de sınırlayabilirsiniz (taahhüt sayısı):
(yalnızca son 5 işlemi göster)
Seçilen mevcut çözümle ilgili hoşuma gitmeyen şey şu:
Çok fazla bilgi gösteriyordu (sadece hızlı bir özete bakmak istediğimde):
gitk` harikadır, ancak beni kabuk oturumunu başka bir pencere için terk etmeye zorlar, oysa son n taahhütü hızlı bir şekilde görüntülemek genellikle yeterlidir.