Создать и объединить ветку git с эпической веткой - PullRequest
0 голосов
/ 05 июня 2018

Я работаю над проектом, например, SO / bubbleSort, и там мне нужно создать эпическую ветвь с именем feature / version-1, поэтому из этой эпической ветки мало кто занимается разработкой, поэтому для этого им нужносоздать отдельную ветку от эпической ветви.Мой вопрос заключается в том, как мы можем объединить эти изменения и сохранить эпическую ветвь с последними изменениями.

Я сделал следующие шаги, чтобы сделать это.Правильно ли это?

Первый шаг проверки в ветке разработки

git checkoutvelop

Создание эпической ветви в ветви разработки

git checkout -b feature / version-1velop

Создайте еще одну ветку для моей разработки из эпической ветви

git checkout -b myVersion feature/ version-1

После того, как я выполнил свою реализацию, что мне нужно сделать?

Нужно ли передать PR из моей ветви в эпическую ветку и объединить?ИЛИ Есть ли способ удовлетворить мою потребность?

1 Ответ

0 голосов
/ 05 июня 2018

поэтому для этого им нужно создать отдельную ветвь из эпической ветви

Нет, не делают, если каждая их работа не настолько уникальна, что требует длительногоего собственная ветвь.
Если нет, они могут работать в своей локальной feature/version-1 ветви:

git fetch
git checkout feature/version-1

, которая будет автоматически отслеживать удаленный origin/feature/version-1

Они просто имеютсделать перебазирование перед тем, как нажать на их коммит, чтобы перебазировать их локальную работу (коммиты в их собственной feature/version-1 ветке) поверх того, что уже было выдвинуто другими в этой ветке (в origin/feature/version-1).

 git fetch
 git checkout feature/version-1
 git rebase origin/feature/version-1

Таким образом, синхронизация выполняется локально (через ребаз).Любой конфликт слияния там разрешается.
Затем разработчик делает последний тест перед нажатием.


ОП добавляет:

Здесь каждая их работа настолько отличаетсяи одна реализация зависит от реализации другого человека

Тогда да, отправка собственной ветки и PR в вышестоящую эпическую ветку - хороший способ.
Но каждый разработчик должен перебазировать свою/ ее собственная ветвь над эпической ветвью, перед тем как принудительно толкнуть свою собственную ветвь, чтобы синхронизировать свою работу с тем, что было принято в эпической ветке.
Затем, после нажатия, они могут сделать пиар (после первого толчка), или PR будет автоматически обновляться (после следующего push --force: поскольку каждый разработчик - единственный, работающий над собственной веткой, он может принудительно выдвинуть его без негативных последствий).

git fetch
git checkout myVersion  
git rebase origin/feature/version-1
git push --force
...