Создание новой ветки GIT из трех ветвей, не затрагивая их - PullRequest
1 голос
/ 24 марта 2020

Итак, я сейчас работаю в команде, и у меня есть три PR, все на вершине нашего development филиала. В демонстрационных целях я хочу создать одну ветку с содержимым трех ветвей вместе, но без касаясь фактических / оригинальных ветвей (потому что, когда у меня есть обратная связь с PR, я все еще хочу иметь возможность работать с исходными ветвями.

Так, например, у меня следующая ситуация:

 Development ----> Commit1 - Commit2 - on Feature-Branch1
             |\
             | \--> Commit3 - Commit 4 - on Feature-Branch2  
             \----> Commit5 - Commit 6 - on Feature-Branch3 

(мои git навыки рисования веток несколько ограничены, но я надеюсь, что вы получите gist) и я хочу добиться следующего

Development ---> Commit1 - Commit2 - Commit3 - Commit4 - Commit5 - Commit6 - on demo-features-branch 

, оставив при этом три исходные ветви без изменений.

Каким будет наилучший подход?

Есть ли способ скопировать ветку в / как новую ветвь? (и тогда я могу перебазировать ветки друг на друга) Или я должен просто sherry-выбрать все коммиты в новую ветку (что, безусловно, будет работать, но, похоже, там должно быть лучше).

Ответы [ 2 ]

2 голосов
/ 24 марта 2020

Есть ли способ скопировать ветку в / как новую ветку?

Да.

git branch demo-features Feature-Branch-1

создаст новую ветку demo-features, в этот момент идентично Feature-Branch-1, поэтому указывает на тот же коммит (Commit2).

Затем, как вы и догадались, вы можете получить другие коммиты, либо перебазировав, либо выбрав вишню.

Я бы предложил здесь диапазоны выбора вишни, с

git cherry-pick ..Feature-Branch-2
git cherry-pick ..Feature-Branch-3

, где HEAD подразумевается в диапазоне (что эквивалентно для первой строки HEAD..Feature-Branch-2)

2 голосов
/ 24 марта 2020
git checkout Development
git branch demo-features-branch
git checkout demo-features-branch
git merge Feature-Branch1
git merge Feature-Branch2
git merge Feature-Branch3

Это объединит все ваши ветви в демонстрационную ветку, оставив ваши оригинальные ветви функций без изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...