GitHub deposunda etiket oluşturma


908

GitHub'da bir havuzum var ve onu etiketlemem gerekiyor.
Bir kabukta etiketledim, ancak GitHub'da görünmüyor.

Başka bir şey yapmam gerekiyor mu?

Kabukta kullandığım komut:

git tag 2.0

Ve şimdi yazdığımda git tagşunu gösterir:

2.0

Etiketler var gibi görünüyor, değil mi?

Depo: https://github.com/keevitaja/myseo-pyrocms .

Bu etiketin GitHub'da nasıl görünmesini sağlayabilirim? Etiketlerim nerede?


2
Etiketi depoya göndermeniz gerekir. Git etiketlerini kullanmak git dalı ile aynıdır, yani bir etiket oluşturmanız / eklemeniz, etiketi herkesin alabilmesi için depoya itmeniz gerekir. Daha
Abhishek Sharma

Yanıtlar:


1495

GitHub için aşağıdakilerden birini kullanarak etiket oluşturabilirsiniz:

  • Git komut satırını veya
  • GitHub'ın web arayüzü.

Komut satırından etiket oluşturma

Mevcut dalınızda bir etiket oluşturmak için şunu çalıştırın:

git tag <tagname>

Etiketinize -abir açıklama eklemek istiyorsanız, açıklamalı bir etiket oluşturmak için ekleyin :

git tag <tagname> -a

Bu local, bulunduğunuz dalın geçerli durumunu içeren bir etiket oluşturur . Uzak deponuza aktarırken, etiketler varsayılan olarak dahil DEĞİLDİR. Etiketlerinizi uzak deponuza aktarmak istediğinizi açıkça belirtmeniz gerekir:

git push origin --tags

Gönderen için resmi Linux Kernel Git belgelerinegit push :

--tags

Komut satırında açıkça listelenen refspec'lere ek olarak refs / tags altındaki tüm refler gönderilir.

Veya yalnızca tek bir etiket göndermek istiyorsanız:

git push origin <tag>

Ayrıca Git'i kullanarak bir etiketi uzak bir depoya nasıl aktarırsınız? yukarıdaki sözdizimi hakkında daha fazla ayrıntı için.

GitHub'ın web arayüzü üzerinden etiket oluşturma

GitHub'ın talimatlarını Bültenleri Oluşturma yardım sayfasında bulabilirsiniz . İşte bir özet:

  1. Depo sayfamızdaki yayınlar bağlantısını tıklayın ,

    Ekran görüntüsü 1

  2. Yeni bir sürüm oluştur veya Yeni bir sürüm taslağı tıklayın ,

    Ekran görüntüsü 2

  3. Form alanlarını doldurun, ardından alttaki Yayınlamayı yayınla'yı tıklayın ,

    Ekran görüntüsü 3 Ekran görüntüsü 4

  4. Etiketinizi GitHub'da oluşturduktan sonra, etiketi yerel deponuza da getirmek isteyebilirsiniz:

    git fetch
    

Şimdi bir dahaki sefere, web sitesinden aynı sürümde bir etiket daha oluşturmak isteyebilirsiniz. Bunun için şu adımları izleyin:

Serbest bırakma sekmesine git

  1. Sürüm için düzenle düğmesine tıklayın

  2. Yeni etiketin adını ABC_DEF_V_5_3_T_2 sağlayın ve sekmeye basın

  3. Sekmeye bastıktan sonra kullanıcı arayüzü şu mesajı gösterecektir: Mükemmel! Bu etiketi yayınladığınızda bu etiket hedeften oluşturulacaktır. Ayrıca kullanıcı arayüzü şubeyi / taahhüdü seçme seçeneği sunacaktır

  4. Şube veya taahhüt seçin

  5. Qa etiketi için "Bu bir ön sürümdür" onay kutusunu işaretleyin ve etiket Prod etiketi için oluşturulmuşsa işaretini kaldırın.

  6. Bundan sonra "Güncellemeyi Yayınla" yı tıklayın

  7. Bu, mevcut Sürüm içinde yeni bir Etiket oluşturur.


8
@RandomDSdevel github, sürüm sadece bir etiket. Komut satırından etiket oluşturabilir ve uzaktan kumandaya itebilirsiniz. etiketi, githubs web sayfasında bir sürüm olarak görünür.
Iuri G.

6
@IuriG .: Evet, ama GitHub tarafından otomatik olarak sürüm olarak alınmayan etiketler oluşturamamalısınız…? (Cevap verdiğiniz yorumu ilk kez oluşturduğumda ve sizin yanıtınız bu bir cevap olduğunda, etiketler en azından otomatik olarak yayınlanmak için kullanılır , ancak bunun hala böyle olup olmadığını bilmiyorum & thinsp; yanıt akışlarınızda açıklanan iş akışından geçerek artık doğru değil. GitHub'a bir süre önce bu konuda bir destek isteği gönderdim, ancak o zamanlar bir destek
biriktirme

Fwiw, Github web arayüzü yolu için, Adım 1'deki sürümler bağlantısını tıkladıktan sonra Yeni bir Oluştur veya Taslak düğmesini göremiyorum
Snowcrash

2
Github arayüzü ile yalnızca Hafif etiketler oluşturabilirsiniz.
Anatolii Stepaniuk

2
Ne yazık ki, github arayüzü, son 24 saat içinde veya son 10 (? Ya da öylesine?) İşlemediği sürece bir taahhüdü etiketlemenize izin vermez.
tsalaroth

86

Etiket Oluşturma

Git iki ana etiket türü kullanır: hafif ve açıklamalı .

Açıklamalı Etiketler :

Git'te açıklamalı bir etiket oluşturmak için terminalinizde aşağıdaki basit komutları çalıştırabilirsiniz.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

-M, söz konusu etikete ilişkin mesajı belirtir. Burada etiketlenecek özelliklerin özetini yazabiliriz.

Hafif Etiketler :

Taahhütleri etiketlemenin diğer yolu hafif etikettir. Bunu aşağıdaki şekilde yapabiliriz:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

İtme Etiketi

Belirli bir etiketi itmek için aşağıdaki komutu kullanabilirsiniz:

git push origin v1.0.3

Veya tüm etiketleri göndermek istiyorsanız aşağıdaki komutu kullanın:

git push --tags

Tüm etiketleri listele :

Tüm etiketleri listelemek için aşağıdaki komutu kullanın.

git tag

Etiketi ÖNCE veya sonrasında mı ekliyorsunuz git commit?
garfbradaz

Git taahhüdünden sonra etiket ekledim.
Lawakush Kurmi

65

git tag 2.0Komutu çalıştırdıktan sonra etiketi itmeniz yeterlidir.

Şimdi git push --tagsyap.


40
Doğrusu kullanmayı öneririm git push v2.0yerine --tagsitti edilmemelidir diğer etiketler olabilir.
tschoppi

1
Bu yalnızca yerel etiketleriniz uzak etiketlerinizden farklıysa bir sorundur. Bu bir sorun haline gelirse senkronize edilmesi kolaydır.
kjdion84

1
@ kjdion84 Hayır, eski etiketler varsa bu da bir sorundur: Tüm etiketler her zaman getirilir ve birisi kullanıldığında --tagsbunlardan kurtulmak zordur.
maaartinus

2
veyagit push origin v2.0
prayagupd

Etiketleri kullanma hatasını yaptım!
Kullanıcı3

9

DİKKAT : Lawakush Kurmi'nin cevabındaki ( git tag -a v1.0) komutta-a bayrak kullanılır. Bu bayrak Git'e açıklamalı bir bayrak oluşturmasını söyler. ( i.e. git tag v1.0) İşaretini sağlamazsanız, hafif etiket adı verilen etiketi oluşturur.


Açıklamalı etiketler önerilir, çünkü bunlar gibi birçok ek bilgi içerir:

  • etiketi yapan kişi
  • etiketin yapıldığı tarih
  • etiket için bir mesaj

Bu nedenle, her zaman açıklamalı etiketler kullanmalısınız.


3

Her şey ne tür bir etiket oluşturmak istediğinize bağlıdır:

  • Eğer fazladan meta veri göstermek için, Açıklamalı etiketleri oluşturmak istiyorsanız, aşağıdaki şekilde yapabilirsiniz: git tag -a v1.0.0.
  • : Öte yandan, Hafif etiketleri özel kullanım için "imi" senin kaydedilmesini için kullanılır git tag v1.0.0.

Birkaç etiket işlevi daha vardır:

  • Liste etiketleri git tag -l -n3. Komut, etiket iletilerinde en fazla 3 satır içeren mevcut tüm etiketleri listeler. Varsayılan olarak -n yalnızca ilk satırı gösterir.
  • Etiket ayrıntıları - git show <tag_identifier>. Belirli bir etiket hakkında bilmeniz gereken her şeyi gösterir.
  • Etiketleri sıralama - git tag --sort=<type>
  • Etiketleri yayınlama git push origin v1.0. Etiketi ayrı ayrı itebilirsiniz veya tüm etiketleri bir kerede itecek git push --tags komutunu çalıştırabilirsiniz.

Daha alakalı bilgi için bu etiketle ilgili makaleyi kontrol ettiğinizden emin olun .


3

Sourcetree Kullanımı

Master'dan derlemeyi bıraktığınızda GitHub Etiketi oluşturmanın basit adımları .

  1. Source_tree sekmesini aç

    Aşama 1

  2. Sol gezinme bölümünde görünen Etiket'ten Etiket bölümlerine sağ tıklayın

    Adım 2

  3. Yeni Etiketi () tıklayın

  4. Etiket Ekle ve Etiketi Kaldır için bir iletişim kutusu görüntülenir
  5. Etikete ad vermek için Etiket Ekle'yi tıklayın (kodun tercih edilen sürüm adı)

    Aşama 3

  6. TAG'ı uzaktan kumandaya itmek istiyorsanız, TAG referansını oluştururken TAG ref: adım 5'i kontrol edin , başlangıç ​​noktasına TAG itin onaylayın ve uzaktan depoda itilen etiket görünür

  7. Eğer kutu kontrol etmek unuttuysanız TAG oluştururken durumda kökeni itin , sen oluşturulan TAG üzerinde sağ tıklayarak daha sonra da yapabilirsiniz tıklayın Basarak kökenli. resim açıklamasını buraya girin


2
Bu cevap Sourcetree kullanarak yerel bir etiketin nasıl oluşturulacağını açıklar, ancak soru etiketin uzak depoya nasıl gönderileceği ile ilgilidir (bu durumda GitHub). Bunu 6. adımda yapmayı söylüyorsunuz, ancak bunun talimatlarını hariç tuttunuz.
Rory O'Kane

@ RoryO'Kane lütfen şimdi kontrol edin Cevabımı güncelledim, İşaret ettiğiniz için teşekkürler
Suresh Maidaragi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.