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