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

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

31 ответов

46 просмотров

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

ᅠ- Автор вопроса
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
Карта сайта