Как объединить локальную ветку с обновленным мастером, сохранив изменения в новом мастере? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть локальный и удаленный репозиторий, использующий Git и GitHub.Допустим, репо - это всего два файла.fileA.html и fileB.html

Я запускаю ветку локально и вносю изменения в файл fileA.html, а затем помещаю его в удаленное хранилище GitHub в своей собственной ветке (не главной).Кто-то снимает мастер, вносит изменения в fileB.html и передает их мастеру, а теперь удаленный мастер заменяется.

Я все еще работаю над своей собственной веткой, и моя цель - объединить мою веткув мастер (с новыми изменениями).

Я могу сделать мастер происхождения git pull, и теперь мой локальный мастер обновлен.Однако когда я запустил свою ветку, изменений в fileB.html не было.Если я сделаю слияние с моим локальным мастером, то увеличу его, будут ли эти изменения отменены?или они останутся?Хотя мой локальный мастер теперь обновлен, я чувствую, что мне нужно обновить ветку с изменениями, которые произошли с мастером

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Это может быть поток:

$ git checkout master

Извлечь новые изменения, чтобы сохранить мастер как удаленный:

$ git pull

Теперь, чтобы обновить ветку с последними изменениями:

$ git checkout your-branch

Объединение мастера с вашей веткой:

$ git merge master

На этом этапе fileB.html будет удаленным, и, поскольку вы работаете только в fileA.html, у вас не должно быть никаких merge conflictsкак только вы закончите работать в своем филиале, вы можете сделать pull request, чтобы кто-то мог просмотреть ваши изменения, и в случае одобрения ваш филиал может быть объединен с master.

с merge вашим филиалом.в master вы можете сделать:

$ git checkout master

, а затем:

$ git merge your-branch

Это основной способ сделать это, вы можете использовать rebase, чтобы избежать коммитов слияния, например,Вы могли бы сделать этот поток:

$ git checkout master
$ git pull
$ git checkout your-branch
$ git rebase master
$ git checkout master
$ git merge your-branch

Это будет делать fast forward, а затем нажать ваши изменения:

$ git push
0 голосов
/ 22 мая 2018

Если вы работаете с веткой A, и в master есть изменения, вы можете вставить эти изменения в вашу текущую ветку A с помощью git pull origin master

Когда вы нажмете, ваши изменения и другие изменения будуттогда в вашей ветке А (удаленная).

Если вы используете Github, обычно вы создаете запрос на слияние из ветви A в master, который затем можно просмотреть и объединить.

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