git - добавление работы другой ветки, которая была обновлена - PullRequest
0 голосов
/ 09 января 2020

Я и другой человек работали над отдельными ветками, но мне нужна некоторая работа ветки других пользователей.

Несколько дней go - я использовал git merge origin/other-persons-branch в своей собственной ветке. Это работало нормально, и с тех пор я добавил несколько коммитов. Тем не менее - мне нужно снова перенести их изменения в мою ветку, и если я сделаю git merge origin/other-persons-branch снова, у него будет большая куча конфликтов слияния.

Я попробовал обычную перебазировку (git rebase origin/other-persons-branch) просто в качестве теста - у него та же куча конфликтов слияний.

Мне интересно, есть ли лучший и / или более чистый способ сделать это. Я подумывал о том, чтобы вернуть массив коммитов, который был их слиянием, и, возможно, попытаться слить снова. Я думаю, что есть менее проблемный способ сделать это. Любое понимание будет приветствоваться!

1 Ответ

0 голосов
/ 09 января 2020

Обычно вам нужно отдать предпочтение основной ветке (обычно master). Или какая-то основная ветвь, которую вы должны считать мастером, если не можете поставить ее мастеру. Допустим, у вас есть ветвь main.

. Вы начинаете работу с создания current ветки:

  • git fetch origin обновите основную ветку с удаленной
  • git checkout -b current origin/main создание и переключение на ветку current на основе main ветка

Поэтому, когда у вас есть работа, вы переводите свою работу с шагами на main (предположим, что вы находитесь в current ветка):

  • git fetch origin обновить основную ветку с удаленного
  • git rebase origin/main перебазировать вашу работу поверх основной ветки
  • git push origin current:main - перевести вашу работу в ветку current на удаленную ветку main

Все члены команды должны использовать один и тот же подход. Любая операция, такая как amend с коммитами и т. Д., Может быть выполнена только перед rebase и pu sh, который коммитит на удаленный.

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