2015-11-02 27 views
7

Alfa fazından çıkmakta olan ve düzenli olarak yayınlamaya hazır olduğum bir projem var. Bu 'sihirli söyleyebilirimGit otomatik bir --version seçeneği için bir sürüm numarası dosyası oluşturmanın bir yolu var mı?

https://github.com/blog/1547-release-your-software

Bildiğim kadarıyla: Ben tam olarak ne yapmak bilmiyorum özellikleri ben GitHub bir 'sihirli' serbest bırakma düğmesi vardır biliyorum ama genelde 'sihirli' sevmiyorum 'GitHub'da yayınlama özelliği sadece kodun belirli bir durumu için kaynak depoda bir etiket oluşturur veya varolan bir etiketi kullanır. Bu bağlantıya göre, etiket isimleri semantik versiyon numarasını, yani Major.Minor.Patch ex: v10.1.2 ya da bunun gibi bir şeyi yansıtmalıdır.

Genel olarak sürümleri kabul etmenin kabul edilen Git yolu basitçe etiketler oluşturmak gibi görünüyor. Benim yapmak istediğim, Git dosyasının otomatik olarak oluşturduğum kod için version.txt veya version.h isimli bir dosya oluşturarak oluşturdum. Kullanıcı, komut satırında myporgram --version'u yayınladığında otomatik olarak kaynak oluşturuyor. Tercihen program oluşturulduğunda ikiliye entegre edildiğinden otomatik olarak oluşturulan bir başlık dosyası istiyorum. Bunu otomatik olarak yapmanın bir yolu var mı, yoksa git etiketi gitmeden önce etiket numarasını otomatik olarak dosyaya aktarmam gerekiyor mu?

cevap

4

burada güzel bir çözüm bakınız: https://coderwall.com/p/mk18zq/automatic-git-version-tagging-for-npm-modules

Temelde çevresinde başka bir yol yok. Bir metin dosyası veya başlık dosyası oluşturun. Version.h:

#define VERSION 10.1.2 

Ve dosyadaki değişiklikleri arar post-commit kanca oluşturmak Diyelim. Dağıtmak için: sürümü değiştirip dosyayı imzalayın. Kanca eşleşen bir etiket oluşturacaktır.

+0

Bu diğer yoldan yapılabilir mi? Bir post-commit hook, metin dosyasını artan bir sürüm numarasıyla mı yoksa sadece işlem numarasıyla mı güncelleyebilir? –

İlgili konular