Привет. Пытаюсь разобраться с тем, каким образом можно при групповой

разработке избежать одновременных изменений в одном и том же файле? Мне интересно понять, существуют какие-либо возможности блокировки файла? Просто если допустим несколько человек внесут свои правки в код, а другой вообще захотел вдруг просто рефакторинг сделать, как сводить концы с концами? Садить какого-то менеджера который бы мониторил все изменения и решал что нужно объединить в мейн? Даже если так, то как ему понять что нужно объединять и тд? Регулярно по таким вопросам собирать консилиум из чуваков которые вносили изменения в этот файл? Я только пытаюсь вкуривать как работать с гитом при групповой разработке. В соло мне все ясно

31 ответов

60 просмотров

Не надо с этим разбираться, коллективная работа предполагает конфликты.

ᅠ- Автор вопроса
Anatoly Shirokov
Не надо с этим разбираться, коллективная работа пр...

То есть необходимо регулярные согласования и условная привязка в джире как задача по модулю?

ᅠ
То есть необходимо регулярные согласования и услов...

Конфликт возникает при мерже таски в dev или мастер бранч, тогда и разруливайте. Какой у вас flow?

ᅠ- Автор вопроса
ᅠ
Каждая задача отдельная ветка

Да, но как вы релиз готовите, как тестируете?

Anatoly Shirokov
Да, но как вы релиз готовите, как тестируете?

Причем тут гит? Это больше процессы разработки и они внезапно разные со своими плюсами и минусами

ᅠ
То есть необходимо регулярные согласования и услов...

Если регулярно требуется разрешать сложные конфликты, то это первый звоночек сменить компанию. Конфликты в файлах конфига, импорты в модулях и подобное нормально, но если 2-3 и больше разработчиков делают одну и ту же работу или отсутствует модульность и все пишут в 1 файл, то процессом разработки явно что-то не то.

Anatoly Shirokov
Поэтому я спросил про flow.

Существуют разные flow Многие думают что git flow silver bullet но мой опыт говорит что это нужно далеко не всем Существует например github flow более простой и гибкий

ᅠ- Автор вопроса
Валік
Если регулярно требуется разрешать сложные конфлик...

Они не регулярно, мы пока просто хотим использовать гит в команде, и встал вопрос который я задал в начале, типа а вот что если. Ну смысл то я понимаю, что таких конфликтов не должно возникать если правильно выстроить процессы))

ᅠ
Они не регулярно, мы пока просто хотим использоват...

Нет они возникают И решаются человеком что вливает общением с автором другова комита После разрешение конфликта ставить надо в ревью автора прошлых строк

ᅠ
Они не регулярно, мы пока просто хотим использоват...

А как вы сейчас без гита разруливаете конфликтные ситуации?

ᅠ- Автор вопроса
Serge L.
А как вы сейчас без гита разруливаете конфликтные ...

У нас есть встроенное хранилище версий которое использует блокировки. Я захватываю какой-либо модуль и вношу изменения. Отпускаю изменения помещаются в хранилище, а затем если следующий разработчик захочет внести изменения он либо столкнется с блокировкой либо, получит те изменения что вносил я. Ну и оно работает по принципу единой ветки без возможности разветвления и тд. Очень громоздкая штука и работать с ней затруднительно в плане просмотра каких-либо версий, сравнений))

ᅠ- Автор вопроса
ᅠ
Они не регулярно, мы пока просто хотим использоват...

А в команде есть кто-нибудь, кто в гите шарит? Если таких нет, то внедрение и использование гита с нуля будет болью. Может не надо? Или может хотите прочесть книжку по гиту и стать таким человеком?

ᅠ- Автор вопроса
Serge L.
А в команде есть кто-нибудь, кто в гите шарит? Есл...

Работает над этим, пока просто изучаем как с ним работать, ветвление, сравнение истории, объединение и тд , мы не сразу планируем перейти типа раз с сегодняшнего дня будем работать с гитом. А пока ну только я больше всех разбираюсь как в целом он устроен и что можно делать. Пару тестов провели только. Пока очень понравилось в плане скорости работы с гитом.

ᅠ
Работает над этим, пока просто изучаем как с ним р...

Попробуйте тогда для тестов поделать мерж-конфликтные ситуации и порезолвить их трехсторонними резолверами. Типа как вы выше описывали. А потом команду научить.

ᅠ- Автор вопроса
Serge L.
Попробуйте тогда для тестов поделать мерж-конфликт...

А мы пробовали делать изменения в одном и том же файле и пушили, система не давала второму разработчику их отправлять до тех пор пока он не решит конфликт, ему нужно было сначала получить мои изменения, объединить и потом уже можно было это отправлять

ᅠ
А мы пробовали делать изменения в одном и том же ф...

Если это научились, то осталось про модели ветвления чекнуть. И как сказали выше, НЕ используйте “git flow”, а присмотритесь к любому другому ветвлению

ᅠ- Автор вопроса
Serge L.
Если это научились, то осталось про модели ветвлен...

Можно какой-нибудь пример? Или как загуглить?)

ᅠ
Можно какой-нибудь пример? Или как загуглить?)

В гите есть несколько популярных. Тот же ”github flow”, так можете и загуглить. Или поищите просто какие-нибудь обзорные статьи про них. Только “git flow” не используйте. Чем более простое ветвление у вас в итоге будет, тем лучше.

ᅠ- Автор вопроса
Serge L.
В гите есть несколько популярных. Тот же ”github f...

Ну мы вот планировали оставить только ветку мейн и от нее ветвить задачи а потом просто сливать по завершению. Ну это как по мне такой простой вариант ветвления

ᅠ
Ну мы вот планировали оставить только ветку мейн и...

А продумали, как будете релизы делать? И, к слову, насколько большие у вас обычно фичи?

ᅠ- Автор вопроса
Serge L.
А продумали, как будете релизы делать? И, к слову,...

Нет, пока еще не думали над релизами, наверно до этого дойдем по завершению продумывания всего процесса разработки. А фичи ну как правило они не большие, бывают конечно крупные и по времени могут занимать неделю-две. Но это редко такое

> Садить какого-то менеджера Организационные проблемы технически не решаются (с) Разумеется, если как-то не договорились между собой (например, где чья зона ответственности, но есть и другие варианты), то менеджер - один из вариантов. Иначе да, придется бороться с техническими средствами, потому что они всего лишь инструмент, и в телепатию не умеют.

Vadim Goncharov
> Садить какого-то менеджера Организационные проб...

Я слышал, что иногда даже резолвить мерж-конфликты сажают одного человека.

ᅠ- Автор вопроса
ᅠ
Я про это читал просто

Не, обычно так не делают, каждый сам резолвит мерж-конфликты, с которыми сталкивается. Если это бы делал отдельный человек, то он стал бы незаменимым с бас-фактором 1.

ᅠ- Автор вопроса
Serge L.
Не, обычно так не делают, каждый сам резолвит мерж...

Ну да, да и такому человеку сходу сложно понять, че тут надо че не надо и регулярный консилиум такое себе решение ну по крайней мере я так представляю такую работу 🤷🏼‍♂️

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта