Подтвердить что ты не робот

Обновите локальную ветку с изменениями от отслеживаемой удаленной ветки

У меня есть локальная ветвь с именем 'my_local_branch', которая отслеживает удаленную ветвь origin/my_remote_branch.

Теперь удаленная ветка обновлена, и я нахожусь в 'my_local_branch' и хочу переместить эти изменения. Должен ли я просто делать:

git pull origin my_remote_branch:my_local_branch

Правильно ли это?

4b9b3361

Ответ 1

Вы установили верхнюю часть этой ветки

(см

git branch -f --track my_local_branch origin/my_remote_branch
# OR (if my_local_branch is currently checked out):
$ git branch --set-upstream-to my_local_branch origin/my_remote_branch

(git branch -f --track не будет работать, если ветвь проверена: вместо этого используйте вторую команду git branch --set-upstream, или вы получите "fatal: Cannot force update the current branch." )

Это означает, что ваша ветка уже настроена с помощью:

branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch

Git уже имеет всю необходимую информацию.
В этом случае:

# if you weren't already on my_local_branch branch:
git checkout my_local_branch 
# then:
git pull

.


Если вы не установили, что отношение вверх по течению, когда оно натолкнулось на то, чтобы нажать "my_local_branch", тогда простого git push -u origin my_local_branch:my_remote_branch было бы достаточно, чтобы нажать и установить ветвь вверх по течению.
После этого для последующих выдержек/нажатий, git pull или git push, опять же, было бы достаточно.

Ответ 2

Синтаксис : не используется - pull всегда изменяет текущую отмеченную ветку. Таким образом:

git pull origin my_remote_branch

пока вы проверили my_local_branch, вы сделаете то, что хотите.

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

git pull

пока вы выведете my_local_branch, и он будет обновлен из отслеживаемой ветки.