@yujin1st
Веб-разработчик (Yii)

Git (BitBucket) + JIRA + PhpStorm — План работы?

Здравствуйте!

Начинаю разбираться с git'ом, и возникло несколько вопросов.

Подскажите пожалуйста как организовать работу с кодом нескольких человек?


Допустим в JIRA опередили одну большую задачу и для нее несколько маленьких подзадач.

Для этого один разработчик создает новую ветку, далее работает над задачами, для каждой подзадачи отдельный commit.

А что должно быть дальше, как должно пройти объединение?

1. После завершения он делает push всей новой ветки или объединяет с master'ом у себя и push'ит мастер?

2. Когда разработчик удаляет ветку кода у себя?

Дальше, ясно, что после этого разработчик объявляет pull request и администратор принимает его, это ведь так? Ну а после все остальные запрашивают новую версию


С phpStorm'ом возникла такая ситуация: если сделать изначально push ветки и после объединить ее с мастером, то IDE в окне 'push' опять предлагает отправить все commit'ы из ветки но уже в master.

Как решить эту дилемму?
  • Вопрос задан
  • 8516 просмотров
Пригласить эксперта
Ответы на вопрос 3
AmdY
@AmdY
PHP и прочие вебштучки
Не-не-не. Вы совсем не туда думаете.
Каждая фича в отдельный бранч и желательно в нём всего один коммит, апдейты делаются амендом, это позволит легко тягать ваши коммиты черри пиком вместо мержа, что особенно удобно когда ведётся несколько стабильных релизов.
Соотвественно разработчик пушит всё в свой репозиторий, делает пулл реквест. Затем собирается билд посредством мержа основного репозитория и ветки из репа разработчика. Если всё ок, то принимаем пулл реквест. Дальше ветки разраба никому не мешают, могут и полежать. Оснвной реп относительно чист.

Надеюсь понятно пояснил, мы так очень большой проект с кучей версий делали и апособо зарекомендовал себя очень хорошо.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я обычно работаю по следующей схеме:

Если над задачей работает один человек, то обычно в локальном репозитории создается отдельная ветка от мастера, и разработчик работает там. Если появились изменения в мастере — rebase коммитов из мастера в новую ветку поможет (если внесенные в мастер изменения вам нужны). Затем, просто делается rebase коммитов из новой ветки в master, а та самая локальная ветка попросту удаляется за ненадобностью. В дереве коммитов все будет выглядеть так, как будто бы все делали в мастере.

Если же над таском работает не один человек — то просто пуште новую ветку и работайте по той же схеме, переодически синхронизируя изменения. Опять же по завершению работы коммиты ребейзятся на мастер и ветка (локальная и на сервере) удаляются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 70 000 до 90 000 руб.
Involta Иваново
от 40 000 руб.
CENTRA Новокузнецк
от 50 000 руб.
24 февр. 2019, в 00:36
5000 руб./за проект
23 февр. 2019, в 23:19
800 руб./за проект
23 февр. 2019, в 20:49
500 руб./за проект