Saat ini, saya biasa membuat cabang baru setiap kali saya harus menambahkan fitur baru ke aplikasi saya.
Ketika fitur saya selesai dan fungsional, saya menggabungkannya dengan cabang master.
Tetapi kemudian, ketika saya perlu memperbarui fitur ini (seperti peningkatan) apakah lebih baik untuk membuat cabang baru atau apakah saya perlu mengubah yang sebelumnya dengan master, apakah pembaruan kemudian bergabung lagi?
Sebagai contoh, saya memiliki cabang yang disebut anggota pemodelan dalam aplikasi Ruby on Rails. Kemudian, saya perlu menambahkan beberapa atribut ke model anggota (yang dibuat di cabang ini). Apa yang harus saya lakukan? Rebase cabang ini dengan master, perbarui model dan gabungkan lagi atau cukup buat cabang baru?
Jawaban:
Buat cabang baru, karena:
Cabang baru benar-benar kecil kemungkinannya memiliki konflik menggabungkan ketika Anda selesai dan ingin menggabungkannya menjadi master. Beberapa hal lebih rentan kesalahan daripada memperbaiki konflik gabungan.
Fitur ini mungkin telah mengalami beberapa perubahan dan pembaruan sejak penerapan aslinya, membuat cabang asli benar-benar usang. Satu-satunya cara untuk memperbaruinya adalah dengan menggabungkan master ke dalam cabang fitur ... dan pada saat itu Anda hanya melakukan percabangan master dengan cara yang rumit dan tidak perlu.
Jika hanya demi kesederhanaan, biasanya ide yang baik untuk memiliki alur kerja yang sama untuk pembaruan, perbaikan bug dan fitur baru. Itu berlaku untuk percabangan, ulasan kode, penggunaan pelacak bug, dan hampir semua hal lainnya. Perbedaan antara memperbarui fitur yang ada, menambahkan fitur baru, dan memperbaiki bug seringkali bersifat subjektif.
sumber
Gunakan cabang baru.
Untuk penamaan, Anda dapat mempertimbangkan menggunakan format internal bahwa this_work adalah ekstensi atau diubah ke that_work
Misalnya Anda bisa memberi nama cabang kedua
dengan - menandakan bahwa nama nama di sebelah kiri adalah cabang asli
Kami menangani masalah yang agak mirip karena kami menggunakan nomor tiket Jira untuk nama cabang. Terkadang ada sedikit pekerjaan tambahan untuk tiket yang sama. Terkadang perubahan basis data tidak dapat dibatalkan. Dalam kasus tersebut kami menggunakan, misalnya, cabang asli KIRIM-123 dan cabang kedua menjadi KIRIM-123a
sumber
Jika Anda ingin menyimpan hanya komit dari penggabungan master dan Anda menggunakan github, Anda bisa menggunakan "Fork" untuk setiap fitur baru dan melakukan permintaan tarik dan menerima permintaan tarik setelah Anda menyelesaikan semua fitur baru.
Saya tidak merekomendasikan bekerja di cabang lama, karena Anda bisa mendapatkan konflik ketika Anda menggabungkannya ke kepala master dan tentu saja itu tidak diperlukan untuk melakukannya ...
sumber