Bir etiketten yeni bir şube nasıl oluşturulur?


Yanıtlar:


877

Vay canına, bu düşündüğümden daha kolaydı:

git checkout -b newbranch v1.0

53
Doğru. Ayrıca, ana dalı yeni ile etiketin noktasına geri ayarlayabileceğinizi unutmayıngit reset --hard v1.0
wadesworld

3
"<tag> geçerli bir taahhüt değil" veya benzer bir hata (genellikle paylaşılan bir depo üzerinde çalışırken) nedeniyle işe
yaramazsa

6
@Wadesworld'ün önerisi işe yarayabilir, ancak kimse bunu okursa ve ana dalı sıfırlamanın ne anlama geldiğinden% 100 emin değilse , bunu yapmayın .
Nathan Long

Bu, burada bulduğum daha iyi bir cevap - stackoverflow.com/a/35979751/3145960
Reaz Murshed

101

Hemen değiştirmeden yeni bir dal oluşturmak istiyorsanız, aşağıdakileri yapabilirsiniz:

git branch newbranch v1.0

6
Bence bu tam olarak ne gerekiyorsa kabul edilen cevap olmalı. Kabul edilen cevap, soruda belirtilmeyen başka bir şey yapar.
Javier Vazquez

40

Bir Tag'den yeni bir düzeltme dalı oluşturmak için aşağıdaki adımları kullandım.

Sözdizimi

git checkout -b <New Branch Name> <TAG Name>

Bunu yapmak için adımlar.

  1. git checkout -b YeniBrançAdı v1.0
  2. Pom / release sürümlerinde değişiklik yapma
  3. Sahne değişiklikleri
  4. git commit -m "Düzeltme dalı için pom sürümlerini güncelle"
  5. Son olarak yeni oluşturulan dalınızı uzak depoya aktarın.
git push -u origin NewBranchName

Umarım bu yardımcı olur.


17

Sorunu aşağıdaki gibi çözdüm 1. Etiketi şubenizden alın 2. Aşağıdaki komutu yazın

Example: git branch <Hotfix branch> <TAG>
    git branch hotfix_4.4.3 v4.4.3
    git checkout hotfix_4.4.3

veya diğer komutlarla yapabilirsiniz

git checkout -b <Hotfix branch> <TAG>
-b stands for creating new branch to local 

düzeltme dalınızla hazır olduğunuzda, o dalı github'a taşıma zamanı, aşağıdaki komutu yazarak yapabilirsiniz

git push --set-upstream origin hotfix_4.4.3

5

Aynı ada sahip bir etiketten şube oluşturmak istiyorsak durum biraz sorunlu hale geliyor .

Bu ve benzer senaryolarda, önemli olan bilmektir: dallar ve etiketler aslında .git/refsdizindeki tek satırlı metin dosyalarıdır ve aşağıdaki yollarını kullanarak bunlara açıkça başvurabiliriz .git. Şubeler, hayatımızı daha basit hale getirmek için burada "kafalar" olarak adlandırılıyor.

Böylece şubenin refs/heads/mastergerçek, açık adıdır master. Ve refs/tags/cicaadlı etiketin tam adıdır cica.

Adlı cicaetikette adlı bir şube oluşturmak için doğru komut cica:

git branch cica refs/tags/cica

4

Şube listem ( şimdi sadece master )

şube listesi

Etiket listem (üç etiket var)

etiket listesi

Yeni şube geçin özelliği / codec'i gelen opus_codec etiketi

git checkout -b feature/codec opus_codec

şubeye geç


2
Metin kopyalayıp yapıştırma da yeterliyse lütfen ekran görüntülerini kullanmayın.
peterh - Monica
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.