Warning! You are viewing the old version of site.

New version of the site - https://www.teamlead.ru/!


оригинал статьи на сайте Atlassian:http://blogs.atlassian.com/2013/05/stash-git-forking-development-workflow/

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

Сегодня мы рады представить Stash 2.4, который обеспечит необходимую гибкость большим командам для управления их бизнес-процессами разработки с использованием GIT. Этот релиз включает несколько важных функций для управления вашими GIT репозиториями, расположенными за фаерволом:

  • использование форков  (вилок) - способ распределенного создания кода, популярный в проектах с открытым исходным кодом;
  • персональные репозитории;
  • права доступа на репозитории.

Альтернатива, гибкость, контроль - да, это Stash 2.4.

Попробуйте Stash 2.4 сегодня


Совместная разработка в GIT с использованием форков

По сути создание форка - это создание копии репозитория на сервере, включая всю накопленную историю. С помощью форка в Stash выстраивается бизнес-процесс, который позволяет разработчикам внести свой код в репозиторий, к которому у них нет прав на запись. При этом в процесс разработки добавляется этап контроля (см.рисунок ниже). Клик по кнопке "Fork" в репозитории создает копию, которая будет отслеживаться и модифицироваться независимо от оригинального репозитория, избавляя код в основном репозитории от случайных изменений и ошибок. Вы можете сделать форк репозитория и связать его с любым другим проектом в Stash, для которого обладаете правами администратора. Вы можете создать персональный форк и дать другим разработчикам доступ. Stash позволяет легко объединять изменения между форками с помощью pull-запросов.

Почему форки?
  • Удобно для подрядчиков. Позвольте сторонним разработчикам участвовать в проекте, при этом только у членов основной команды будут права записи в репозиторий. Подрядчики смогут сделать форк репозитория, а потом добавить созданные изменения обратно через pull-запрос.

  • Удобно для больших команд. Когда сотни разработчиков работают в одном репозитории, количество веток и прочей деятельности в репозитории зашкаливает и начинает мешать. Форки позволяют командам работать обособленно, периодически синхронизируя новые изменения из основного репозитория в свой проект.

  • Удобно для экспериментов. Участвуете ли вы в ShipIt или работает над прототипом функции, эксперименты на форках дают разработчикам возможность портить код, не загрязняя основной репозиторий коммитами на случай, если эксперимент не удастся.

Подробнее о том, почему крупным организациям стоит принять на вооружение использование форков, можно посмотреть в статье Why Forks?“.

Вносите изменения через pull-запрос

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

 

Персональные репозитории

В Stash 2.4 мы добавили возможность создавать персональные репозитории. Персональный репозиторий не относится ни к одному проекту. У разработчиков появляется свобода пробовать новшества или хранить свою незавершенную работу, начинать свои проекты, участвовать в отладке чужих проектов  или добавлять функции в общие компоненты. Персональные репозитории могут быть открытыми или закрытыми, используйте разрешения на уровне репозиториев, чтобы взаимодействовать с другими пользователями и группами так, как вам удобно.


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


 

Репозитории и разрешения

Разрешения в Stash нужны для того, чтобы обеспечить безопасность вашего кода и дать вам уверенность, что нужные разработчики имеют нужные права. Раньше существовало два уровня разрешений глобальные разрешения чтобы обеспечить контроль или передать права на проект пользователю или группе и разрешения проекта, чтобы контролировать доступ на чтение и запись внутри проекта. В Stash 2.0 мы добавили более глубокий уровень доступа - разрешения веток - чтобы определить, кто может делать коммит в конкретных ветках репозитория. Stash 2.4 добавляет еще более детальный уровень настройки доступа - вы можете устанавливать разрешения на уровне репозитория. 


 

Администраторы могут делать проекты настолько закрытыми или открытыми, насколько это нужно. Предоставьте доступ к отдельным репозиториям в пределах проекта, не давая прав на весь проект. Ниже приведены несколько сценариев, когда это может пригодиться:

  • Внешние разработчики –   широкий доступ к репозиториям может заставить вас нервничать, если вы работаете с внешними разработчиками. Для некоторых проектов ваша основная команда должна иметь доступ ко всем репозиториям, тогда как внешним разработчикам можно оставить доступ только к нескольким выделенным репозиториям..

  • Открыть доступ –  Многие команды открывают доступ на запись к определенным проектам только небольшой группе разработчиков. Чтобы привлечь к работе других разработчиков, вы можете открыть доступ на чтение всем сотрудникам организации, так чтобы разработчики, не вошедшие в основную команду, могли создавать форки и таким образом привносить свой вклад.

  • Передача администрирования – Сохраните свое время, передав администрирование репозитория надежным членам команды.

 

Stash предлагает вашей команде на выбор несколько вариантов распределенной работы, и эта гибкость позволяет вам выдавать результат быстрее.


Всегда делайте форк перед коммитом в Stash 2.4

 

Незнакомы со Stash? Начните создавать форки уже сегодня с бесплатной триальной версией

 

Попробуйте Stash 2.4 сегодня

 

Уже работаете со Stash? Вы можете обновиться до версии  2.4 с помощью одного клика. Ознакомьтесь с документацией по релизу и вперед.