Tek bir Git komutu geçerli etiket, şube ve taahhüt var mı? | Netgez.com
SORU
19 Mayıs 2010, ÇARŞAMBA


Tek bir Git komutu geçerli etiket, şube ve taahhüt var mı?

Şu anda üç komut bir koleksiyon mevcut etiket, şube ve Tarih ve SHA1 en son commit almak için kullanıyorum.

git describe --always --tag
git log -1 --format="%H%n­"
git rev-parse --abbrev-ref HEAD

Gibi bir şey çıktı sağlayacak

1.2.3-5-gdeadbeef
deadbeef3b8d90071c24f51ac8f26ce97a72727b
Wed, 19 May 2010 09:12:34  0200
master

Dürüst olmak gerekirse, bu benim için sorun değil. Ama Maven Bu komutları daha önce Maven kullanılan şeyler harici komutları nasıl bilir POM bloat olur kim kullanıyorum. Ben sadece benim pom.xml ince ve yürütme süresini biraz azaltır belki.

CEVAP
20 Mayıs 2010, PERŞEMBE


  1. git log son derece esnek, çok ve birçok seçenek ile. Üç komutları tam çıkış yukarıda çoğaltmak mümkün olmayabilir, ama ihtiyacınız olan etkiyi elde etmek için yeterince yakın gelebilir.

    Örneğin:

    git log --pretty=format:'­ %h %d' --abbrev-commit --date=short -1
    

    üretir tarihinden (HEAD) SHA-1 ve sembolik bağlantılar (etiketler de dahil) tamamlama:

    2010-05-20 45bd5e7 (KAFA, origin/master)

    Sonra, muhtemelen, sed ve/veya awk ya da belki Maven-yerel yöntemlere ince ayar/parlatma yapabilir. Belirli bir etiket tamamlama, Eğer üç olsa örneğin etiketli,, "v1.o KAFA önce tamamlar bu yüzden belirli bir ile ilişkili olduğunu unutmayın 0.", "V1.göreceğiz 0 0.0" yukarıda gösterilen.

  2. Daha basit, tek bir komut bir taahhüt olduğunu succint bir açıklama sağlamak için:

    git describe
    

    en son yürürlükteki etiketi, etiketli beri taahhüt numarası taahhüt ve SHA1 yazar:

    v3.3.0-46-g71a77dc

  3. Benim hiç aşina Maven, ve hiçbir fikrim yok ne kadar kolay/zor çalıştırmak için harici işler, ben de emin olup olmadığını aşağıdaki yardım herhangi bir şekilde, ama kapatacağım söz. her ihtimale karşı.

    Yani etiketleme oluşturur, bir autoconf/automake çerçevesi açıklayan kesin bir amaç için, aslında gibi bir şey kullanın:

    BUILDTAG="`git symbolic-ref HEAD 2> /dev/null | cut -b 12-`-`git log --pretty=format:\"%h\" -1`"
    

    bir program bir yolun sonuna teyel için uygun üretir

    usta-c5282ff

    Daha fazla açıklama, yorum veya yazılı bir tanımlayıcı olarak dahil uygun genişletilmiş:

    BUILDDESC="$(git symbolic-ref HEAD 2> /dev/null | cut -b 12-)-$(git log --pretty=format:'%h, ­' -1)"
    

    üretir gibi bir şey:

    usta-c5282ff, 12 22:19:51 2010 -0600 Cum Mar

Ne istediğinizi etrafında git log, muhtemelen/yöntemleri alacaksınız metin işleme araçları ile birlikte oynamayı düşünüyorum.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • HereWeStayKings

    HereWeStayKi

    3 NÄ°SAN 2013
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • TV and Lust

    TV and Lust

    26 HAZÄ°RAN 2006