Чи є хорошою практикою мати віддалене відділення для кожного розробника?


11

Чи вважається хорошою практикою мати віддалене відділення для кожного окремого розробника в проекті?

Ми використовуємо Git із такими галузями:

  • майстер
  • звільнення
  • розвиватися

Якщо кожен розробник мав власну філію, він міг надіслати код у свої гілки, а інші могли об'єднати ці зміни у свої власні гілки.


1
Нагадує мені робочі області Accurev, за винятком того, що вони не прив’язані до MAC-адреси певної машини. Мені це подобається.
Брендон


1
Чому nat має унікальну гілку для кожної доданої нової функції?
Мартін Йорк

@Loki Так .. це гарна ідея ..
balanv

Відповіді:


4

Ні! Доброю практикою є наявність віддаленого простору імен гілок для кожного розробника.

Однієї гілки часто не вистачає, тож розробник або сильно перемотає її, або не дуже допоможе. Ви швидше хочете сказати, що розробник може натискати все, що вони хочуть, під своїм ім'ям/ . Вони можуть використовувати його для публікації попередніх версій для інших, надання версії для тестування когось іншого або навіть для інтеграції когось іншого.

Ви можете використовувати це також для надання гілок інтегратору або для використання імен на основі завдань. Імена на основі завдань, як правило, простіше відстежувати для інтегратора, але змушують розробників думати більше про іменування, а люди не люблять думати. Я не знаю, що буде краще працювати на практиці; може залежати навіть від конкретної команди.


2

Напевно, я б не дав кожному розробнику гілки на центральному сервері, якщо у вас є якась інфраструктура стилю github, яка дозволяє їм створювати і знищувати гілки і чітко документувати, для чого вони потрібні. Деяким розробникам знадобиться більше однієї гілки, а деяким взагалі не потрібна, але ви створюєте безлад для всіх, щоб розбиратись та адміністративні накладні витрати для себе.

Я б закликав натомість вид органічного спільного використання git досконалий. Дуже просто зробити голий клон на власній машині і зробити цю папку частиною SMB, доступною лише для читання. Насправді, мене це дуже здивувало б, якщо кілька ваших розробників цього ще не роблять.


1
За замовчуванням кожен завжди може створити відділення. Github дозволяє створювати цілі сховища, але це в цьому випадку надмірно.
Ян Худек

1

Це залежить від того, як організована ваша команда розвитку та завдання. На мою думку, модель, яку ви вказали, буде найкраще працювати, якщо:

  1. Кожен розробник працює над самостійними завданнями самостійно.
  2. Усі розробники беруть участь у одному завданні.

Якщо це може не спрацювати, це якщо у вас є спільні художні проекти в розробці, і в них кожен працює декілька розробників.


1

Надання кожному розробнику власної гілки може бути корисним, якщо вони працюють над різними речами, які можуть торкатися одних і тих же файлів. Це може допомогти запобігти наступити на пальці ніг один одного, але це вимагатиме від кожного часто зливатися та нести відповідальність під час управління конфліктами. Це робиться в моєму кабінеті, і це працює досить добре, крім рідкісного дня, коли вам доведеться вручну об'єднати половину файлів, які ви редагували.

Якщо у вас є кілька розробників, які працюють над однією функцією, можливо, краще створити гілки на основі функції в розробці, а не розробника.


1

Якщо ви працюєте з Git, спробуйте витягнути запити.

Підсумовуючи це, ви спочатку об'єднуєте головну гілку у вашу поточну робочу гілку. Будь-які конфлікти злиття будуть у вашому місцевому відділенні. Це приємно, адже ваша галузева гілка ніколи не ламається. Якщо ви насправді обертаєтесь, у вас є місцеві зобов'язання, до яких ви можете повернутися.

Як тільки ви закінчите злиття, ви попросите когось іншого в команді переглянути і об'єднати вашу гілку в головну гілку. Ніколи не зливайте своє! До тих пір, поки ніхто не прокрався і не зробив ще один запит на витяг, ви гарантовано зроститеся. Оскільки всі знають про Запит на витягнення, у будь-якому разі не повинно бути декілька людей, що зливаються в майстра.

Як тільки ви звикнете до цього процесу, вам слід спробувати об'єднатися якомога частіше - начебто безперервна інтеграція бідної людини. Чим менше часу між конфліктами, тим краще. Ви визначите, коли двоє людей дублюють зусилля, і вони можуть об'єднатися. Деякі місця зливаються щоразу, коли вони виконають вимогу, яка може бути кожні пару годин. Я рекомендую зливатися хоча б раз на тиждень; інакше вам потрібно краще розбити завдання.

Я зазвичай створюю одну гілку для кожного завдання. Git приємний тим, що він розрізняє місцеві коміти та штовхання. Це забезпечує певну вигоду кожної людини, яка має власну галузь без усієї складності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.