Зараз я працюю в компанії, яка використовує VSTS для управління git-кодом. "Рекомендований" спосіб об'єднання гілки Майкрософт - це зробити "злиття сквош", це означає, що всі зобов'язання для цієї гілки стискаються в один новий документ, який включає всі зміни.
Проблема полягає в тому, що, якщо я вношу деякі зміни в одній гілці для одного елемента відставання, то негайно хочу розпочати зміни в іншій гілці для іншого елемента відставання, і ці зміни залежать від набору змін першої гілки?
Я можу створити гілку для цього елемента відставання та базувати її на першій гілці. Все йде нормально. Однак, коли настає час створити запит на тягу для мене другої гілки, перша гілка вже була об'єднана в головний і тому, що це було зроблено як злиття сквош, git розгортає купу конфліктів. Це тому, що git не бачить оригінальних комісій, на яких була заснована друга гілка, вона просто бачить одну велику сквош-злиття, і тому для того, щоб злити другу гілку в майстер, вона намагається відтворити всі зобов'язання першої гілки верх сквош зливається, викликаючи безліч конфліктів.
Отже, моє питання полягає в тому, чи є спосіб обійти це (окрім того, що ніколи не засновувати одну гілку функції на іншій, що обмежує мій робочий процес) або злиття сквош просто порушує алгоритм злиття git?
feature1
на майстер, а потім хочете об'єднатисьfeature2
пізніше. У такому випадку, чи не призведе перший підхід до конфліктів, оскільки git намагається повторно застосуватиfeature1
комітети на вершині розбитого комітету, тоді як другий дозволить git визначити, що ці комісії не потрібно об'єднувати?