как объединить две ветви с небольшими изменениями не все - PullRequest
0 голосов
/ 18 января 2019

Я работаю над кодом Visual Studio и использую git в качестве VCS, теперь у меня есть ветка с именем X из этой ветки. Я создал другую ветку с именем Y с помощью команды ( git checkout -b Y ) затем в ветке Y я добавил новый код, а также внес некоторые изменения в предыдущий код.

Теперь я хочу объединить Y в X только с изменениями , а не с новым кодом, который я добавил.

также, каковы проблемы при проверке родительской ветви без фиксации изменений, сделанных в дочерней ветви?

1 Ответ

0 голосов
/ 18 января 2019

Я не думаю, что git merge - это правильный процесс для вашей ситуации. Возможно, вы захотите cherry-pick коммит или два в корневую ветвь (только те коммиты, которые не содержат новые файлы). Я предлагаю это, потому что функция слияния в Git предназначена для переноса всей ветви в другую ветку.

С учетом сказанного можно выполнить merge и достичь своей цели. Для этого выполните слияние, не позволяя процессу merge сделать commit. Результатом будет набор изменений, подготовленных для фиксации. Затем вы можете изменить свои поэтапные изменения (путем удаления файлов, которые вы не хотите объединять) перед выполнением окончательной фиксации.

На основе приведенного выше примера вы сначала оформите ветку оформления заказа X , а затем:

git merge Y --no-commit --no-ff

Если это было чистое слияние, после вышеприведенной команды вы должны увидеть сообщение:

"Автоматическое слияние прошло успешно; остановлено перед фиксацией в соответствии с запросом"

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

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