YASAL UYARI: Ben aşağıda konuşacağım gitchangelog yazarım .
TL; DR: gitchangelog'un kendi changelog'unu veya öncekini oluşturan ascii çıktısını kontrol etmek isteyebilirsiniz .
Git geçmişinizden bir değişiklik günlüğü oluşturmak istiyorsanız, muhtemelen şunları göz önünde bulundurmanız gerekir:
- çıkış biçimi . (Saf özel ASCII, Debian changelog türü, Markdow, ReST ...)
- bazı taahhüt filtreleme (muhtemelen yazım hatası veya kozmetik değişikliklerin değişim günlüğünüze girmesini istemezsiniz)
- bazıları değişiklik günlüğüne dahil edilmeden önce metin atmayı taahhüt eder. (İletilerin bir ilk harf büyük harf veya son nokta olarak normalleştirilmesini sağlamak, ancak özette bazı özel işaretlemeleri de kaldırıyor olabilir)
- sizin ise git geçmişi uyumlu ?. Birleştirme, etiketleme, çoğu araç tarafından her zaman kolay desteklenmez. Bu, geçmişinizi nasıl yönettiğinize bağlıdır.
İsteğe bağlı olarak bazı kategorizasyonlar (yeni şeyler, değişiklikler, hata düzeltmeleri) isteyebilirsiniz ...
Tüm bunları göz önünde bulundurarak, gitchangelog'u oluşturdum ve kullanıyorum . Önceki tüm hedeflere ulaşmak için bir git kesinleştirme mesaj kuralından yararlanılması amaçlanmıştır .
Güzel bir değişim günlüğü oluşturmak için bir taahhüt mesajı kuralına sahip olmak zorunludur (kullanarak veya kullanmadan gitchangelog
).
mesaj sözleşmesi imzala
Aşağıda, tamamlama iletilerinize ekleme konusunda neyin yararlı olabileceğine ilişkin öneriler yer almaktadır.
Taahhütlerinizi kabaca büyük bölümlere ayırmak isteyebilirsiniz:
- niyetle (örneğin: yeni, düzelt, değiştir ...)
- nesneye göre (örneğin: doc, paketleme, kod ...)
- kitleye göre (örneğin: geliştirici, test kullanıcısı, kullanıcılar ...)
Ayrıca, bazı taahhütleri etiketlemek de isteyebilirsiniz:
- değişim günlüğünüze çıkmaması gereken "küçük" taahhütler olarak (kozmetik değişiklikler, yorumlardaki küçük yazım hataları ...)
- Gerçekten önemli özellik değişiklikleriniz yoksa "refactor" olarak. Bu nedenle, örneğin son kullanıcıya görüntülenen değişiklik günlüğünün bir parçası olmamalı, ancak bir geliştirici değişiklik günlüğünüz varsa bazı ilgi çekici olabilir.
- API değişikliklerini veya yeni API öğelerini işaretlemek için "api" ile de etiketleyebilirsiniz ...
- ...vb...
Tamamlama mesajınızı kullanıcıları (işlevselliği) olabildiğince sık hedefleyerek yazmaya çalışın.
misal
Bu, git log --oneline
bu bilgilerin nasıl saklanabileceğini göstermek için standarttır ::
* 5a39f73 fix: encoding issues with non-ascii chars.
* a60d77a new: pkg: added ``.travis.yml`` for automated tests.
* 57129ba new: much greater performance on big repository by issuing only one shell command for all the commits. (fixes #7)
* 6b4b267 chg: dev: refactored out the formatting characters from GIT.
* 197b069 new: dev: reverse ``natural`` order to get reverse chronological order by default. !refactor
* 6b891bc new: add utf-8 encoding declaration !minor
Fark ettiyseniz, seçtiğim biçim:
{new|chg|fix}: [{dev|pkg}:] COMMIT_MESSAGE [!{minor|refactor} ... ]
Gerçek bir çıktı sonucu görmek için gitchangelog'un PyPI sayfasının sonuna bakabilirsiniz
Taahhüt mesajı kuralımın tam belgelerini görmek için gitchangelog.rc.reference başvuru dosyasını görebilirsiniz.
Bundan enfes değişim günlüğü nasıl oluşturulur
Sonra, tam bir değişiklik günlüğü yapmak oldukça kolaydır. Kendi komut dosyanızı oldukça hızlı bir şekilde yapabilir veya kullanabilirsiniz gitchangelog
.
gitchangelog
tam bir değişiklik günlüğü oluşturur (bölümleme desteği New
, Fix
... ile) ve kendi taahhüt kurallarınıza göre yapılandırılabilir. Bu yoluyla templating çıkış sayesinde her türlü destekler Mustache
, Mako templating
ve ham Python ile yazılmış bir varsayılan eski motoru var; Mevcut tüm 3 motorun nasıl kullanılacağına dair örnekleri var ve gitchangelog'un PyPI sayfasında görüntülenen gibi changelog'ları çıktılayabiliyorlar.
Eminim diğer bol olduğunu biliyorum ediyorum git log
için changelog
de orada araçları.
--graph
taahhütlerin hangi dallarda olduğunu görsel olarak gösterir.