Cabang dan tag rilis aliran Git - dengan atau tanpa awalan “v”

119

Saya telah melihat beberapa definisi yang saling bertentangan di berbagai situs web terkait aliran git. Apakah ada rekomendasi resmi atau satu sumber kebenaran?

Cabang: release-1.2.3ataurelease-v1.2.3

Tag: 1.2.3atauv1.2.3

friederbluemle.dll
sumber

Jawaban:

101

Pada dasarnya ini adalah masalah preferensi, tetapi saya lebih suka versi dengan v, karena Semver melakukannya dengan cara itu dan saya mencoba mengikuti spesifikasi itu sedekat mungkin untuk mendapatkan versi yang waras.

Itu juga membuat pemfilteran untuk Tag tersebut lebih mudah, karena Anda dapat menekan vdan kemudian TAB-kunci untuk pelengkapan otomatis: Ini akan mencantumkan semua tag (dan mungkin beberapa cabang), sedangkan ada beberapa digit yang dapat dimulai dengan tag.


Lihat juga: Apakah ada konvensi penamaan standar untuk tag git?

TimWolla
sumber
2
Terima kasih, itu masuk akal. Saya rasa menarik untuk melihat bahwa proyek Git Flow itu sendiri tidak menggunakan awalan v: github.com/nvie/gitflow Karena alasan Anda dan @VonC memposting, saya masih lebih suka tag versi yang menyertakan awalan v.
friederbluemle
49
Semver telah menghapus awalan v dalam versi 2.
schmijos
9
@schmijos @LeoTM - Dokumen hanya menyatakan bahwa v1.2.3 bukan versi semantik. Pertanyaannya adalah tentang tag Git. Nyatanya, semver repo masih digunakan v2.0.0sebagai tag untuk versi 2: github.com/mojombo/semver/releases/tag/v2.0.0
friederbluemle
1
semver 2.0 semver.org tidak menyatakan apapun tentang tag yang dibutuhkan untuk memulai dengan awalan "v"!
jankal
30

Karena v adalah singkatan dari versi, tag umumnya dinamai vX.YZ, dengan XYZ mengikuti Semantic Versioning 2.0.0 .

Hal ini memungkinkan cabang XYZ untuk hidup berdampingan dengan tag tersebut, tanpa harus berurusan dengan pesan kesalahan seperti "fatal: Nama objek yang ambigu" (seperti dalam " Nama yang Rancu dengan GIT? ").

Perhatikan bahwa tag untuk Git sendiri baru-baru ini "diadaptasi" karena alasan yang mengejutkan: lihat " Aturan" "perubahan versi kode ".

VonC
sumber
1
Ketika orang menggunakan praktik terbaik seperti semver , maka mereka mungkin menggunakan sistem seperti Git Flow atau yang serupa. Itu akan mencegah benturan ref (nama tag cabang eq). Selain itu, apa yang menghalangi seseorang untuk menamai sebuah cabang vX.Y.Z? Itu bukan argumen yang terlalu banyak :)
kaiser
3
semver 2.0 semver.org tidak menyatakan apapun tentang tag yang dibutuhkan untuk memulai dengan awalan "v"!
jankal
@jankal Saya setuju. Saya hanya menyebutkan semver untuk kebijakan XYZ.
VonC
Satu argumen kecil adalah bahwa lebih banyak orang akan mendapatkan v1.2.3daripada b1.2.3:-)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
3

https://semver.org/#is-v123-a-semantic-version

Apakah "v1.2.3" adalah versi semantik? Tidak, "v1.2.3" bukan versi semantik. Namun, mengawali versi semantik dengan "v" adalah cara yang umum (dalam bahasa Inggris) untuk menunjukkan bahwa itu adalah nomor versi. Menyingkat "versi" sebagai "v" sering terlihat dengan kontrol versi. Contoh: git tag v1.2.3 -m "Rilis versi 1.2.3", dalam hal ini "v1.2.3" adalah nama tag dan versi semantiknya adalah "1.2.3".

Dermaga
sumber