Şubeleri arşivlemem. Başka bir deyişle, dallar kendilerini arşivler. Arzu ettiğiniz şey arkeologlarla ilgili bilgilerin güvenilir yollarla bulunmasını sağlamaktır. Günlük gelişime yardımcı olmaları ve iş yapma sürecine fazladan bir adım eklememeleri güvenlidir. Yani, insanların bir şubeyle işlendikten sonra bir etiket eklemeyi hatırlayacağına inanmıyorum.
İşte arkeoloji ve gelişime büyük ölçüde yardımcı olacak iki basit adım .
- Her görev dalını, basit bir adlandırma kuralı kullanarak sorun izleyicide ilişkili bir sorunla ilişkilendirin .
- Her zaman
git merge --no-ffgörev dallarını birleştirmek için kullanın ; bu birleştirme taahhüdünü ve tarih balonunu, tek bir işlem için bile istersiniz.
Bu kadar. Neden? Çünkü bir kod arkeolog olarak, bir dalda hangi işin yapıldığını bilmek istemeye nadiren başlarım. Çok daha sık neden çığlık atan dokuz cehennemde kod bu şekilde yazılıyor ?! Kodu değiştirmem gerekiyor, ancak bazı garip özellikleri var ve önemli bir şeyi kırmamak için onları bulmam gerekiyor.
Bir sonraki adım, git blameilişkili taahhütleri bulmak ve daha sonra günlük mesajının açıklayıcı olmasını ummaktır. Daha derine inmem gerekirse, çalışmanın bir dalda yapılıp yapılmadığını öğrenir ve dalı bir bütün olarak okur (konu izleyicideki yorumu ile birlikte).
Diyelim ki git blameXYZ taahhüdünde puanlar. Bir Git geçmişi tarayıcısı açıyorum (gitk, GitX git log --decorate --graph, vb ...), XYZ işini bul ve gör ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
İşte şubem! QQ, UU, XYZ, JJ ve MM'nin hepsinin aynı dalın bir parçası olduğunu biliyorum ve ayrıntılar için günlük iletilerine bakmalıyım. GG'nin birleştirme taahhüdü olacağını ve izleyicide bir sorunla ilişkili olan umarım şubenin adını bileceğini biliyorum.
Herhangi bir nedenle, git logbirleştirme taahhüdünde çalıştırabileceğim ve şube adını arayabileceğim eski bir şube bulmak istersem . Çok büyük depolarda bile yeterince hızlıdır.
Dalların kendilerini arşivlediğini söylediğimde bunu kastediyorum.
Her şubeyi etiketlemek, işlerin yapılmasına gereksiz bir iş ekler (acımasızca düzenlenmesi gereken kritik bir süreç), etiket listesini (performanstan değil, insan okunabilirliğinden) sadece çok nadiren yararlı olan ve olmayan t Arkeoloji için bile çok yararlı.
git checkout [rev] file