Как переустановить локальную ветку с удаленным мастером

Я клонировал проект из главной ветки из удаленного репозитория remote_repo. Я создаю новую ветку, и я фиксирую эту ветвь. Другие программисты нажали на remote_repo, чтобы овладеть веткой. Теперь мне нужно перегрузить мою ветку RB на мастер remote_repo. Как это сделать? Какие команды нужно вводить в терминал?

739
28 окт. '11 в 15:39
источник поделиться
5 ответов

Сначала выберите новый мастер из восходящего репозитория, а затем переустановите свою рабочую ветку на это:

git fetch origin            # Updates origin/master
git rebase origin/master    # Rebases current branch onto origin/master

Обновить: см. Paul Draper answer для более кратких способов сделать то же самое - последние версии Git обеспечивают более простой способ для выполнения эквивалента указанных выше двух команд.

1041
28 окт. '11 в 15:51
источник

Связанные вопросы


Похожие вопросы

git pull --rebase origin master
# where --rebase[=(false|true|merges|preserve|interactive)]
704
26 авг. '13 в 14:12
источник

После изменений, внесенных в вашу ветку, мастер проверки и pull, чтобы получить изменения из репо:

git checkout master
git pull origin master

Затем проверьте свою ветку и переустановите изменения на сервере:

git checkout RB
git rebase master

или последние две команды в одной строке:

git rebase master RB
145
28 окт. '11 в 15:48
источник

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

git fetch && git rebase origin/master

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

                            ~:   For noobs   :~

Следующие шаги могут помочь любому, кто новичок в git rebase и хочет сделать это без хлопот

Шаг 1: Предполагая, что в данный момент в YourBranch нет изменений и изменений, которые необходимо внести. Мы посещаем YourBranch.

git checkout YourBranch
git pull --rebase

Что случилось? Извлекает все изменения, сделанные другими разработчиками, работающими над вашей веткой, и отменяет ваши изменения поверх нее.

Шаг 2: Разрешите любые конфликты, которые представляют.

Шаг 3:

git checkout master
git pull --rebase

Что случилось? Извлекает все последние изменения с удаленного мастера и восстанавливает локальный мастер на удаленном мастере. Я всегда держу удаленный мастер в чистоте и готовлюсь к выпуску! И предпочитаю работать только на мастере или ветких локально. Я рекомендую делать это до тех пор, пока вы не получите руку на изменения или коммиты git. Примечание. Этот шаг не требуется, если вы не обслуживаете локальный мастер, вместо этого вы можете напрямую выбрать и перебазировать удаленный мастер в локальной ветке. Как я уже упоминал в одном шаге в начале.

Шаг 4: Разрешите любые конфликты, которые представляют.

Шаг 5:

git checkout YourBranch
git rebase master

Что случилось? Ребаз на мастера случается

Шаг 6: Решите любые конфликты, если они есть. Используйте git rebase --continue чтобы продолжить перебазирование после добавления разрешенных конфликтов. В любое время вы можете использовать git rebase --abort для git rebase --abort.

Шаг 7:

git push --force-with-lease 

Что случилось? Вносить изменения в ваш удаленный YourBranch. --force-with-lease будет проверять, есть ли какие-либо другие входящие изменения для YourBranch от других разработчиков во время перебазирования. Это супер полезно, а не силовой толчок. В случае каких-либо входящих изменений, загрузите их, чтобы обновить локальный YourBranch, прежде чем отправлять изменения.

Почему я должен толкать изменения? Переписать сообщение коммита в удаленном YourBranch после правильной перебазировки или если разрешены какие-либо конфликты? Затем вам нужно отправить внесенные вами изменения в локальное хранилище в удаленное хранилище YourBranch.

Yahoooo...! Вы успешно сделали перебазирование.

Вы также можете заняться:

git checkout master
git merge YourBranch

Когда и почему? Объедините вашу ветку с master, если внесены изменения, внесенные вами и другими соавторами. Что делает YourBranch современным с master, когда вы захотите поработать над той же веткой позже.

                            ~:   (๑ơ ₃ ơ)♥ rebase   :~
77
11 сент. '17 в 8:35
источник

git fetch origin master:master извлекает последнюю версию master, не проверяя ее.

Так что все, что вам нужно, это:

git fetch origin master:master && git rebase master rebase 👌

4
03 янв. '19 в 19:11
источник

Посмотрите другие вопросы по меткам или Задайте вопрос