Depomda, aşağıdaki komutları kullanarak etiketler oluşturdum.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Depodaki tüm etiketleri nasıl listeliyorsunuz?
Depomda, aşağıdaki komutları kullanarak etiketler oluşturdum.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Depodaki tüm etiketleri nasıl listeliyorsunuz?
Yanıtlar:
git tag
yeterli olmalı. Bkz. git tag
Sayfa
Ayrıca:
git tag -l <pattern>
Verilen kalıpla eşleşen adlara sahip etiketleri (veya kalıp verilmemişse tümünü) listeleyin.
Bağımsız değişkenler olmadan "git tag" yazıldığında, tüm etiketler de listelenir.
Daha yakın zamanda ( Git 2.0+ için " git etiketleri nasıl sıralanır? ")
git tag --sort=<type>
Belirli bir sıraya göre sıralayın.
Desteklenen tür:
- "
refname
" (sözlükbilimsel düzen),- "
version:refname
" veya "v:refname
" (etiket adları sürüm olarak kabul edilir).Sıralama düzenini tersine çevirmek için "-" işaretini ekleyin.
Bu her ikisini de listeler:
Not: etiketlemeye ilişkin git hazır makalesi , hafif etiketin onaylanmamasını sağlar.
Değişkenler olmadan git etiketi, temelde hiç hareket etmeyen bir dal olan “hafif” bir etiket oluşturur.
Bununla birlikte, belki de bilinen iyi (veya kötü) bir sürümü veya ileride kullanmanız gerekebilecek bir grup taahhüdü işaretlemek için hafif etiketler hala yararlıdır.
Bununla birlikte, muhtemelen bu tür etiketleri zorlamak istemezsiniz .Normalde, en azından imzasız bir etiket oluşturmak için -a seçeneğini geçmek veya etiketi -s veya -u seçenekleri aracılığıyla GPG anahtarınızla imzalamak istersiniz.
Bununla birlikte, Charles Bailey , bir ` git tag -m "..."
` aslında -a
hafif değil, uygun (imzasız açıklamalı) bir etiket (seçenek ' ') ima ettiğine dikkat çekiyor . Yani ilk komutunuzda iyisiniz.
Bu aşağıdakilerden farklıdır:
git show-ref --tags -d
Hangi etiketleri taahhütleriyle listeler (bkz. " Git Tag list, display commit sha1 hashes ").
Not -d
(onların işlemek kendi SHA1 var) açıklamalı etiket nesnesi çözümlemesi ve taahhüt etiketli bir gerçek görüntülemek için.
Benzer şekilde, git show --name-only <aTag>
etiketi ve ilişkili taahhüdü listeler.
Etiketleri listelemek için:
git tag -n
-n
Bayrak etiketiyle birlikte açıklama mesajın ilk satırını görüntüler veya etiket açıklamalı değilse ilk mesaj hattını işlemek.
git tag -n5
Ek açıklamanın ilk 5 satırını da gösterebilirsiniz.
Ayrıca git show-ref
, etiketleri karşılık gelen taahhütlerle doğrudan ilişkilendirebilmeniz için oldukça kullanışlıdır :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
olduğum gibi git show-ref
bana etiket VE revizyon verir.
Uzaktan etiketleri şu şekilde bulabilirsiniz:
git ls-remote --tags origin
Yapmaya çalışın git tag
bunu yapmak için denemek değilse yeterli olacaktır git fetch
sonra git tag
.
git tag
Sadece mevcut etiketlerin bir listesini görmek istiyorsanız Koşu komutu yeterli olmalıdır. Uzaktan kumandada olabileceğini düşündüğünüz bazı etiketleri göremiyorsanız, yerel etiketleriniz uzaktan kumanda ile senkronize olmayabilir. Bu durumda, en son referansları / kafaları önce uzaktan git fetch
, ardından gerçek olandan getirin git tag
. Genellikle böyle bir astarı çalıştırırım: $ git fetch -p && git tag
sadece en son ve en mükemmel şekilde baktığımdan emin olmak için.
Git'te kullanılabilir etiketlerin listelenmesi kolaydır. Sadece yazın git tag
(isteğe bağlı -l
veya ile --list
).
$ git tag
v5.5
v6.5
Belirli bir kalıpla eşleşen etiketleri de arayabilirsiniz.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
Git deposunda son etiketi alma
Komut, bir taahhütten erişilebilen en son etiketi bulur. Etiket, taahhüdü gösteriyorsa, yalnızca etiket gösterilir. Aksi takdirde, etiket adını etiketli nesnenin üstündeki ek taahhütlerin sayısı ve en son tamamlanan işlemin kısaltılmış nesne adı ile son ekler.
git describe
Olarak --abbrev
ayarlandığında 0
, komut tagname
herhangi bir sonek olmadan en yakın olanı bulmak için kullanılabilir :
git describe --abbrev=0
Diğer örnekler:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
Uzaktan kumandada bulunmayan yerel git etiketlerini budama
Basitçe söylemek gerekirse, benzer bir şey yapmaya çalışıyorsanız git fetch -p -t
, git sürümünden başlayarak çalışmayacaktır 1.9.4
.
Ancak, en son sürümlerde çalışan basit bir geçici çözüm vardır:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Kullanabileceğim en son etiketle ilgili ayrıntıları görmek için bazen kullanıyorum:
git show `git describe` --pretty=fuller
Etiket adınızı yerel olarak kontrol etmek istiyorsanız, etiket oluşturduğunuz yola (yerel yol) gitmeniz gerekir. Nesnelerinizi nereye koyduğunuz anlamına gelir. Ardından command yazın:
git show --name-only <tagname>
Bu etiket adının altındaki tüm nesneleri gösterecektir. Teradata'da çalışıyorum ve nesne görünüm, masa vb.
Tüm mevcut etiketleri listeleyebilirsiniz git tag
veya birlikte listeye filtre olabilir git tag -l 'v1.1.*'
, *
joker olarak davranır. İle işaretlenmiş etiketlerin bir listesini döndürür v1.1
.
Aradığınızda git tag
ek açıklamalarınızın içeriğini göremediğinizi göreceksiniz. Onları önizlemek için eklemek gerekir -n
komutunuza: git tag -n2
.
$ git tag -l -n2
v1.0 Sürüm 1.0
v1.1 Sürüm sürümü 1.1
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. Daha fazla bilgi için bu etiketle ilgili makaleyi de kontrol ettiğinizden emin olun .