Ключовою річчю, з якою було покликане вирішувати git-flow, була здатність міркувати про роль даної гілки, а також на те, з чого вона відділяється та зливається.
В ідеалі всі гілки зливаються назад до кодової лінії, з якої вони були об'єднані. Зазвичай це злиття від основної лінії (в git-flow це dev
). Позначте гілки гілки та злиття з dev, звільнення гілки та злиття з dev (з додатковим об'єднанням у master
). Гарячі виправлення гілки та злиття з головного (з цим додатковим злиттям назад до dev).
Кожна кодова лінія відгалужується від і зливається назад з її батьківською. Кодова лінія може витягувати код з інших кодових ліній у будь-який час, якщо це необхідно.
Якщо гілка з гілки функцій є "Я хочу дослідити такий спосіб виправлення проблеми в цій гілці функції" - цілком чудово. Він відгалужується від гілки функції, здійснює деякий код і зливається назад до гілки функції (або відкидається).
- відділення від функції
- вивчити ідею
- злиття для функції
Однак цього ви хочете уникнути:
- відгалуження від необхідної функції
- робота над кодом
- злиття з dev, коли необхідна функція завершена
- перевірити функціональність (і додаткові комісії) у галузі функцій
- злиття до дев
Причина полягає в тому, що початок і кінець не збігаються - це робить трохи складніше зрозуміти, що це таке і було. Не неможливо, але це просто змушує трохи більше часу, щоб хтось зрозумів його роль.
Однак якщо це нова функція, яка залежить від коду, який ще не знайдений у програмі Dev, потік має бути таким:
- гілка від дев
- злиття з необхідною функцією
- робота над кодом
- злиття з dev, коли необхідна функція завершена
- перевірити функціональність (і додаткові комісії) у галузі функцій
- злиття до дев
Зауважте, що це починається з гілки від dev і закінчується злиттям у dev.
Все, що сказано, мабуть, найкраще робити - це не уникати злиття однієї функції в іншу. Розв’яжіть функцію, зробіть всі необхідні попередні описи ... і зачекайте.
- гілка від дев
- робота над кодом
- злиття з dev, коли необхідна функція завершена
- перевірити функціональність (і додаткові комісії) у галузі функцій
- злиття до дев
Це забезпечує найбільш стабільний набір гілок і код.
Що слід враховувати для майбутньої роботи, це мати можливість публікувати необхідні інтерфейси для сумісності з іншими функціями - навіть якщо код реалізації не завершений. Це було б об'єднано в dev, і тоді необхідна функція могла б працювати з цих інтерфейсів, як і майбутня функція. Це, ймовірно, дозволить майбутній функції прогресувати далі (кодування проти інтерфейсів, тестування на стрибках, які реалізують інтерфейси), ніж це було б, якби довелося чекати, коли потрібна функція злиється в розробник.