Bagaimana cara membuat cabang baru dari tag?

528

Saya ingin membuat cabang master baru dari tag yang ada. Katakanlah saya punya tag v1.0. Bagaimana cara membuat cabang baru dari tag ini?

Andrew
sumber
kemungkinan duplikat dari tag Checkout GIT
Greg Bacon

Jawaban:

877

Wow, itu lebih mudah dari yang saya kira:

git checkout -b newbranch v1.0
Andrew
sumber
53
Benar. Catatan Anda juga bisa saja mengatur cabang master kembali ke titik tag dengangit reset --hard v1.0
wadesworld
3
Jika ini tidak berhasil karena "<tag> bukan komit yang valid" atau kesalahan serupa (sering ketika mengerjakan repositori bersama), lihat stackoverflow.com/questions/35979642/…
SalmonKiller
6
Saran dari @wadesworld bisa bekerja, tetapi jika ada yang membaca ini dan tidak 100% yakin apa artinya mengatur ulang cabang master, jangan lakukan itu .
Nathan Long
Ini adalah jawaban yang lebih baik yang saya temukan di sini - stackoverflow.com/a/35979751/3145960
Reaz Murshed
101

Jika Anda hanya ingin membuat cabang baru tanpa segera mengubahnya, Anda bisa melakukan hal berikut:

git branch newbranch v1.0
pengguna1069067
sumber
6
Saya pikir ini harus menjadi jawaban yang diterima karena tidak persis apa yang diperlukan. Jawaban yang diterima melakukan hal lain yang tidak disebutkan dalam pertanyaan.
Javier Vazquez
40

Saya menggunakan langkah-langkah berikut untuk membuat cabang perbaikan terbaru dari Tag.

Sintaksis

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

Langkah-langkah untuk melakukannya.

  1. git checkout -b NewBranchName v1.0
  2. Buat perubahan pada versi pom / rilis
  3. Perubahan panggung
  4. git commit -m "Perbarui versi pom untuk cabang Hotfix"
  5. Terakhir, dorong cabang Anda yang baru dibuat ke repositori jarak jauh.
git push -u origin NewBranchName

Saya harap ini akan membantu.

Tarun Kumar
sumber
17

Saya telah mengatasi masalah seperti di bawah ini 1. Dapatkan tag dari cabang Anda 2. Tulis perintah di bawah ini

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

atau Anda bisa melakukannya dengan perintah lain

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

setelah Anda siap dengan cabang hotfix Anda, saatnya untuk memindahkan cabang itu ke github, Anda dapat melakukannya dengan menulis perintah di bawah ini

git push --set-upstream origin hotfix_4.4.3
Kirtikumar A.
sumber
5

Situasi menjadi sedikit bermasalah jika kita ingin membuat cabang dari tag dengan nama yang sama .

Dalam hal ini, dan dalam skenario yang serupa, yang penting adalah untuk mengetahui: cabang dan tag sebenarnya adalah file teks satu-baris dalam .git/refsdirektori, dan kita dapat merujuk mereka secara eksplisit menggunakan jalur mereka di bawah ini .git. Cabang disebut di sini "kepala", untuk membuat hidup kita lebih sederhana.

Dengan demikian, refs/heads/masteradalah nama mastercabang yang nyata dan eksplisit . Dan refs/tags/cicaadalah nama yang tepat dari tag yang dinamai cica.

Perintah yang benar untuk membuat cabang bernama cicadari tag bernama cicaadalah:

git branch cica refs/tags/cica
peterh - Pasang kembali Monica
sumber
4

Daftar cabang saya (hanya master sekarang)

daftar cabang

Daftar tag saya (memiliki tiga tag)

daftar tag

Beralih ke fitur cabang baru / codec dari tag opus_codec

git checkout -b feature/codec opus_codec

beralih ke cabang

eranga
sumber
2
Tolong jangan gunakan screenshot jika copy-paste teks sudah cukup.
peterh