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.
Совместная разработка в 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 с помощью одного клика. Ознакомьтесь с документацией по релизу и вперед.