Git: объединить локальную ветвь с удаленными ветвями A и B без вставки кода из A в B / B в A - PullRequest
0 голосов
/ 25 апреля 2020

Репозиторий, с которым я работаю, имеет 3 ветви: Master, Demo и Development. Вещи, которые были должным образом проверены go из разработки в демо. После демонстрации он переходит в Мастер, а затем развертывается.

При работе с изменениями я извлекаю ветвь Demo, наиболее стабильную ветвь с новейшими функциями, и создаю локальную ветвь.

Чтобы поместить свои изменения для тестирования, мне нужно объединить их в Развитие отрасли. Но не все в ветви разработки готово к go в демо-ветку.

Есть ли способ, которым я могу объединить свое изменение с веткой разработки, где, если мое изменение в порядке, тогда я объединяю моя ветка в демо-ветку, но без ввода какого-либо кода из Development?

Извинения, если это вопрос новичка и непонятный заголовок.

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

да, вы можете проверить свою ветку dev перед тем, как объединить ее:

1) создайте ветку ex: task1: git checkout -b task1

2) когда вы закончите с этими изменениями, commit и pu sh в эту ветку

3) затем выполнить запрос на слияние (концепция gitlab) или запрос на извлечение (концепция github)

4) теперь пришло время проверить эту ветку локально:

4-1) git fetch origin

4-2) git checkout -b task1 origin/task1

5) теперь вы можете просматривать изменения локально, если все в порядке, попробуйте объединить их :

5-1)

git fetch origin
git checkout origin/master

5-2) объединить эту ветку:

git merge --no-ff task1

разрешить конфликт и исправить ошибку, если существует, тогда pu sh this версия if идеально подходит для вашей ветки ex: master:

git push origin master

если вы отсоединились от показанного сообщения головы, сделайте это вместо:

git push origin HEAD:master
1 голос
/ 25 апреля 2020

Если я правильно понимаю ваш поток, то вы вытаскиваете из демо-версии и переходите в новую ветку. Эту ветку вы объединяете с разработкой, чтобы проводить там тесты. Вы можете использовать ту же ветку и впоследствии объединить ее с Demo. Но прохождение тестов в среде разработки не гарантирует, что оно также будет работать в демоверсии, поскольку код отличается.

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

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

...