Bagaimana saya harus memasukkan perbaikan terbaru kembali ke cabang fitur menggunakan gitflow?

10

Saya sudah mulai menggunakan gitflow untuk sebuah proyek, dan saya memiliki cabang fitur yang luar biasa serta perbaikan terbaru yang baru dibuat. Per alur kerja gitflow, perbaikan terbaru diterapkan ke master dan mengembangkan cabang, tetapi tidak ada yang dikatakan atau dilakukan tentang cabang fitur yang ada.

Namun demikian, saya ingin memasukkan perubahan perbaikan terbaru kembali ke cabang fitur saya, yang sedekat yang saya bisa katakan meninggalkan tiga opsi:

  1. Jangan memasukkan perubahan. Jika perubahan diperlukan untuk cabang fitur, itu harus menjadi bagian dari cabang fitur.
  2. Gabung mengembangkan kembali ke fitur cabang. Ini tampaknya mengikuti alur kerja gitflow yang terbaik, tetapi akan menyebabkan komit yang rusak.
  3. Rebase cabang fitur ke pengembangan . Ini akan menjaga agar komit tetapi rebasing tampaknya sama sekali tidak ada dari alur kerja gitflow umum.

Apa praktik terbaik di sini?


sumber
Cabang fitur biasanya berumur pendek, itu semacam bau SCM untuk menggabungkan perubahan ke dalamnya; apakah tidak mungkin menyelesaikan (atau menstabilkan) cabang fitur dan menggabungkannya kembali?
Aaronaught
2
@Aarona seharusnya fitur itu tidak selesai / tidak ke mana-mana. Situasi dasarnya adalah fitur yang memerlukan beberapa hari untuk mengembangkan bug yang dapat berpotensi memengaruhi data produksi. Tes ditulis, perbaikan terbaru diterapkan pada master / produksi, tetapi fitur yang belum selesai masih rusak oleh bug. Apakah Anda menyarankan untuk menggabungkan fitur setengah jadi ke dalam arus utama pengembangan? Apa yang terjadi jika fitur tidak berjalan dengan baik?

Jawaban:

11

Saya tidak melihat ada masalah dengan mengubah cabang fitur Anda menjadi pengembangan untuk mengambil perbaikan terbaru terbaru. Sebenarnya, mem-rebending cabang fitur Anda dari pengembangan bisa sangat membantu, karena ini memungkinkan Anda menjaga cabang Anda "up to date," yang membuat penggabungan jauh lebih mudah ketika Anda sampai ke tahap itu.

Wayne Conrad
sumber
Ya: melihat-lihat beberapa bukti lainnya — termasuk pengumuman gitflow 0.2 yang menambahkan fitur rebasing — menunjuk pada alur kerja git rebase biasa sebagai alur kerja gitflow juga.
2
Menarik. Saya tidak bisa mengatakan saya seorang ahli di Gitflow, tetapi pemahaman saya adalah perbaikan terbaru adalah komitmen tunggal terhadap master, bukan cabang, dan saya hanya memilih mereka untuk dikembangkan. Membaca pikir saya benar-benar salah tentang itu.
jb510