Git etiketini bir dalda nasıl birleştiririm


155

Başka bir şubeye etiketli bir taahhüdü birleştirmek için sözdizimini bulmaya çalışıyorum. Tahmin ediyorum ki ileri doğru ama zayıf arama denemelerim bulamıyor.

Yanıtlar:


260

Bunu mu demek istiyorsun?

git checkout destination_branch
git merge tag_name

11
Burada aynı ben git fetch --tags kökenli o zaman yapabilirdim: git birleştirme tagname
Will Hancock

Tüm etiketleri bir kerede birleştirmenin bir yolu var mı?
ComFreek

Başka türlü mümkün mü? Bir şube etikete birleştirilsin mi? "Git checkout tag_name" ve "git merge branch" komutlarını denedim. Ancak birleşmek yerine şubeyi inceledik.
Öğrenci

@learner a Tag belirli bir taahhüdü tanımlar. Belirli bir taahhütte birleştirilemezsiniz, bu nedenle etiketi istediğiniz taahhüde taşımanız gerekir. Bu, bunun nasıl yapılacağını ele alır: stackoverflow.com/questions/8044583/…
Josiah

85

Etiketi güncellemeniz gerektiğinde birleştirmeden önce, şubelerden oldukça farklı olduğunu git pull origin tag_nameunutmayın (yerel etiketlerinizi güncellemez). Bu nedenle, aşağıdaki komuta ihtiyacınız vardır:

git fetch --tags origin

Ardından git merge tag_nameetiketi bir dalda birleştirmek için performans gösterebilirsiniz .


4
Bunu yapmak için git remote add upstream git@github.com/org/repotakip git fetch --tags upstreametmeliydim.
MarkHu


1

Bunu yapmak için bulduğum tek kapsamlı ve güvenilir yol budur.

"Tag_1.0" ifadesini "mybranch" ile birleştirmek istediğinizi varsayalım.

    $git checkout tag_1.0 (will create a headless branch)
    $git branch -D tagbranch (make sure this branch doesn't already exist locally)
    $git checkout -b tagbranch
    $git merge -s ours mybranch
    $git commit -am "updated mybranch with tag_1.0"
    $git checkout mybranch
    $git merge tagbranch

0

Burada oyuna geç kaldım, ancak başka bir yaklaşım olabilir:

1) etiketinden bir dal oluşturun ( $ git checkout -b [new branch name] [tag name])

2) Yeni şubenizle hedef şubeye birleştirmek için bir çekme isteği oluşturun

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.