Saat ini saya sedang mengerjakan proyek dengan tim yang menggunakan alur kerja git. Ini cukup sederhana, master harus dalam status dapat digunakan dan cabang digunakan untuk membuat fitur dan perbaikan terbaru. Setiap kali kami memiliki fitur atau perbaikan bug yang diselesaikan dan diuji, maka kami memindahkannya ke master sesegera mungkin. Idenya adalah bahwa cabang harus sekecil mungkin untuk membuatnya lebih mudah untuk menggabungkannya kembali menjadi master. Kami memiliki kebijakan bahwa kode apa pun yang didorong ke cabang utama harus dalam status yang dapat digunakan dan lulus tes.
Kami mendapat situasi di mana salah satu pengembang telah melakukan banyak pekerjaan (senilai beberapa bulan) pada satu cabang dan cabang ini belum digabungkan kembali ke master. Sekarang ada beberapa fitur terpisah dan banyak komitmen di cabang ini, pada dasarnya cabang ini benar-benar harus digabungkan kembali dalam beberapa kali, tetapi sejauh ini belum. Sebagian besar kode berada dalam kondisi baik dengan unit test yang dapat digabungkan kembali ke master tetapi perubahan terbaru tentu saja tidak karena tidak selesai dan tidak diuji.
Apa cara terbaik untuk menghadapi situasi seperti itu di mana satu cabang benar-benar jauh dari yang lain? Cara apa yang bisa kita hindari cabang mendapatkan komitmen yang sangat besar dari tuan di masa depan?