Нещодавно у мене була дискусія з людьми, які абсолютно протистоять стратегії перезавантаження функціональних галузей на GIT. Здається, прийнятою схемою є використання бази даних лише для локальних, приватних відділень, але ніколи не використовувати її, коли кілька людей працюють над однією і тією ж особливістю та гілкою, як згідно з цим так званим "золотим правилом звільнення" (як пояснено тут: https : //www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview )
Я просто здивований, що щодо цього існує консенсус. Я працював 3 роки з повною стратегією звільнення, приблизно 20 розробників працювали на togeteher і здогадуєтесь, що це спрацювало.
В основному процес:
- Ви створюєте свою функціональну галузь, назвемо її "мійфаутера" і підштовхуємо її до походження / міфеатури
- Інші люди можуть перевірити це і працювати над ним
- Ви можете іноді перезавантажити його від master: from "myfeature", git rebase origin / master ; а потім, так, ви повинні натиснути на це.
- Що станеться, коли інші люди хочуть просунути свої зобов'язання? Вони просто перезавантажують це: походження git rebase / myfeature . Тож вони зараз перемотаються вперед і можуть натискати, не змушуючи їх.
Єдиний принцип, який потрібно поважати, - це те, що галузь функції належить комусь . Власник - єдиний, хто може натиснути.
Отож, я визнаю: щойно виникає натиск, є ризик помилитися. Це правда. Але є також багато способів відновитись після помилок, і насправді за 3 роки розвитку я не бачив багато помилок, і коли це сталося, ми завжди знаходили спосіб відновитись належним чином.
Отже, чому це «Золоте правило ребазу» настільки широко прийняте? Чи є щось інше, що я пропустив з цим? Я розумію, що потрібен мінімум організації (кожна стратегія вимагає певної організації), але вона працює.