Dalam, perbaikan terbaru model Git-flow masuk di hotfix-*
cabang spesifik dan perbaikan integrasi kecil tepat sebelum rilis masuk di release-*
cabang. Perbaikan bug umum dari versi sebelumnya tampaknya tidak memiliki tempat.
Di mana mereka harus muncul? Haruskah mereka berada di bug-*
cabang mereka sendiri yang bercabang develop
(seperti feature
cabang)?
feature-*
cabang? Bisakah perbaikan pada perilaku yang salah dilihat sebagai fitur?master
,develop
,release-*
atauhotfix-*
merupakan cabang fitur, sehingga Anda dapat menggunakan awalan apapun yang Anda suka dan menggunakan prefix yang berbeda untuk bug. Juga, apa perbedaan antara perilaku keliru yang berfungsi seperti yang ditentukan dan perilaku keliru yang menyimpang dari spesifikasi? Dalam kedua kasus itu adalah perilaku yang salah, tetapi hanya yang terakhir adalah bug.Jawaban:
Jawaban singkatnya: Ya, cabang untuk perbaikan bug yang akan direncanakan untuk rilis mendatang harus di cabang fitur. Cara Anda menamai cabang fitur atau cabang ini untuk perbaikan bug tergantung pada Anda dan standar tim Anda, tetapi mereka harus diperlakukan secara identik jika Anda mengikuti Gitflow.
Komentar Bart van Ingen Schenau memunculkan poin yang bagus.
Gitflow memiliki lima jenis cabang:
master
,,develop
cabang hotfix (diawali denganhotfix-
), rilis cabang (diawali denganrelease-
, dan cabang fitur.master
Dandevelop
cabang adalah cabang yang sudah berjalan lama dan Anda tidak melakukan langsung ke dalamnya.release-
Cabang-cabang dibuat untuk menggambar garis untuk rilis tertentu dan kemudian mendukung perbaikan bug antara identifikasi versi berikutnya dan rilis.hotfix-
Cabang-cabang khusus untuk rilis kritis, di luar siklus ke dalam produksi.feature-
Cabang-cabang adalah untuk pengembangan fitur individu untuk beberapa rilis mendatang.Datang dari lingkungan di mana PR digunakan dan selain dari pengembang individu berkomitmen untuk cabang fitur, tidak ada yang harus dilakukan langsung ke
master
,develop
atau cabang rilis. Ini memastikan bahwa setiap perubahan ditinjau kode, bersama dengan memastikan cakupan tes yang sesuai dan lulus tes dalam lingkungan CI sebelum perubahan masuk. Saya akan menentang setiap komitmen langsung ke salah satu cabang ini, meskipun tampaknya Gitflow dengan sendirinya tidak t memiliki masalah dengan melakukan perbaikan bug pra-rilis atau mengubah langsung ke cabang rilis dan kemudian menariknya ke dalam pengembangan dan kemudian fitur cabang.Dalam kasus khusus Anda,
release-
cabang bukan tempat yang tepat. Perangkat lunak ini telah dirilis dan dimaster
. Setelah rilis digabungkan menjadi master dan ditandai di sana, cabang rilis untuk rilis tertentu telah melampaui tujuannya dan tidak perlu ada lagi. Jika Anda aktif membersihkan cabang-cabang Anda (yang saya pikir seharusnya semua orang), maka ini bahkan bukan pilihan.Jika perbaikan Anda tidak kritis, maka cabang perbaikan terbaru sepertinya tidak cocok. Tujuan dari cabang perbaikan terbaru adalah untuk membiarkan seseorang mendapatkan perubahan kritis ke dalam produksi dengan sangat cepat tanpa mengganggu pengembangan yang sedang berlangsung. Menggunakan ini harus menjadi pengecualian daripada norma untuk tim pengembangan. Secara umum, perbaikan terbaru yang kritis harus menjadi kasus yang luar biasa.
Satu-satunya yang tersisa adalah cabang fitur. Perhatikan bahwa bagian halaman yang ditautkan dalam pertanyaan tentang cabang fitur bahkan mengatakan bahwa cabang fitur "kadang-kadang disebut cabang topik". Jika perubahan Anda menargetkan rilis yang akan datang dan tidak memenuhi kriteria untuk perbaikan terbaru, itu harus di salah satu cabang ini.
sumber
develop
, bukan ditemukan antara waktu diperkenalkan dan pembuatan cabang rilis, dan / atau cabang rilis Anda ada untuk waktu yang lama. Sederhananya, saya percaya satu-satunya pilihan adalah pick-ceri (saya akan menyarankan fix dan tarik permintaan ke cabang rilis, bergabung ke cabang rilis, dan cherry-pick ke dalam pengembangan melalui permintaan tarik).Jika komitnya tunggal maka buat komit yang diidentifikasi dengan baik dan dorong di atas cabang pengembangan, atau buat cabang fitur.
Ada juga komentar dari penulis git-flow yang mengatakan persis apa yang Anda tanyakan: Cabang bugfix tidak ada # 24
sumber