Зараз я працюю над проектом з командою, яка використовує git робочий процес. Це досить просто, майстер повинен знаходитись у стані розгортання, а гілки використовуються для створення функцій та виправлень. Кожен раз, коли у нас є функція чи помилка, виконані та протестовані, ми переходимо до цього, щоб засвоїти, як тільки зможемо. Ідея полягає в тому, що гілки повинні бути якомога меншими, щоб було простіше об'єднати їх назад у майстер. У нас є політика, згідно з якою будь-який код, натиснутий на головну гілку, повинен знаходитись у стані розгортання та проходити тести.
У нас виникла ситуація, коли один з розробників провів багато роботи (кілька місяців) на одній гілці, і ця гілка ще не була об'єднана в головний майстер. Зараз на цій гілці є декілька окремих функцій і купа комісій, по суті, ця гілка справді повинна була бути об'єднана за кілька разів, але поки що не була. Більшість кодів знаходиться у справному стані з одиничними тестами, які можна було б об'єднати в головний, але останніх змін, безумовно, не повинно бути, оскільки вони не завершені та не перевірені.
Який найкращий спосіб вирішити таку ситуацію, коли одна гілка дійсно далека від інших? Якими способами ми можемо уникнути того, щоб гілки в майбутньому отримували дуже велику кількість комісій від майстра?