Извлеките последние изменения из основной ветки

#git

Вопрос:

Я создаю test ветку из main ветки и начинаю работать над ней,но затем моя команда вносит изменения в основную строку пакета.Итак, как я могу обновить main ветку с помощью новых изменений, внесенных моим товарищем по команде, а затем как я могу также обновить свою test ветку с помощью этих изменений.

Комментарии:

1. Git pull origin основной тест Git pull origin

2. Вы используете git bash или используете пользовательский интерфейс Git?

3. Обратитесь к этим ссылкам git-scm.com/docs/git-pull и git-scm.com/docs/git-merge

Ответ №1:

В вашей настройке main есть текущая ветвь. (В отличие от других ответов) Существует простой способ обновить текущую ветвь, не переключаясь на нее:

 git fetch origin main:main
 

После этого объединитесь main в текущее test использование git merge main . Или перебазировать test поверх обновленного main :

 git rebase main test
 

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

 git pull origin main:main
 

Эта команда выполняет git fetch origin main:main , а затем git merge main сразу.

С помощью rebase есть две команды:

 git fetch origin main:main
git rebase main test
 

Скорее всего, их можно объединить в одну команду для извлечения, обновления и перебазирования:

 git pull --rebase origin main:main
 

Комментарии:

1. @TTT, но вам нужно main как — то обновиться. git rebase origin/main main amp;amp; git rebase main test ?

2. @TTT Я думаю, что вы можете написать отдельный подробный ответ об этом.

3. Это лучший ответ на этот вопрос, чем мой. 😀

4. Я предлагаю убрать этот стеб. 😉

5. @TTT КСТАТИ git pull --rebase origin main:main , это всего лишь одна команда для извлечения, обновления и перебазирования.

Ответ №2:

Вам нужно снова объединить основную ветвь после ее обновления на вашем локальном:

  git checkout main
 git pull origin main
 git checkout test
 git merge main
 git push
 

Ответ №3:

  1. Убедитесь, что вы зафиксировали все изменения в вашей текущей ветви
 git add -A
git commit -m "Some clear commit message"
 
  1. Перейдите в свою основную ветвь, извлеките удаленные изменения и объединитесь в локальную main ветвь
 git checkout main
git pull origin main
 
  1. Теперь вернитесь в свою локальную test ветвь и объедините эти изменения с main ветвью
 git checkout test
git merge main
 
  1. Это оно. Если конфликтов нет, ветви будут объединены автоматически. В противном случае внимательно прочитайте сообщение с запросом и следуйте инструкциям.