Ответы:
Вы можете ссылаться на эти ветви удаленного отслеживания ~ (перечислены с помощью git branch -r) с названием их удаленного.
Вам нужно получить удаленную ветку:
git fetch origin aRemoteBranch
Если вы хотите объединить одну из этих удаленных веток в вашей локальной ветке:
git checkout master
git merge origin/aRemoteBranch
Примечание 1: Для большого репо с длинной историей вы захотите добавить --depth=1опцию при использовании git fetch.
Примечание 2: Эти команды также работают с другими удаленными репозиториями, так что вы можете настроить originи, upstreamесли вы работаете на развилке.
Противоположный сценарий: если вы хотите объединить одну из ваших локальных веток в удаленной ветке (в отличие от удаленной ветки в локальную, как показано выше), вам сначала нужно создать новую локальную ветку поверх указанной удаленной ветви:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
Идея здесь состоит в том, чтобы объединить «одну из ваших локальных веток» (здесь anotherLocalBranch) с удаленной веткой ( origin/aBranch).
Для этого вы сначала создаете " myBranch" как представление этой удаленной ветви: это git checkout -b myBranch origin/aBranchчасть.
И тогда вы можете слиться anotherLocalBranchс ним (с myBranch).
aLocalBranch» в « myBranch», где « myBranch» представляет удаленную ветку origin/aBranch.
aLocalBranchэто не опечатка, но вы одобрили последнее изменение (2 года спустя!), Которое исправляет эту «вероятную опечатку». Я хотел уточнить у вас, перед отменой редактирования.
Всякий раз, когда я делаю слияние, я попадаю в ветку, в которую я хочу слиться (например, " git checkout branch-i-am-working-in"), и затем делаю следующее:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-fromпервый, верно?
git fetch origin developзатемgit merge origin/develop
git merge один не сделает этого.
git add .-> git commit -m <message>-> git push -u origin <branch>?
Сначала извлеките удаленную ветку из источника.
git fetch origin remote_branch_name
Объединить удаленный филиал с локальным филиалом
git merge origin/remote_branch_name
Может быть , вы хотите , чтобы отслеживать удаленный филиал с местным отделением:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullЕсли вы уже загрузили удаленную ветку и сделали это git branch -a,
вы получите что-то вроде:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
После этого вы можете использовать rep_mirror/8.0для локального обозначения вашего удаленного филиала.
Хитрость в том, что remotes/rep_mirror/8.0это не работает, но rep_mirror/8.0работает.
Таким образом, команда, как git merge -m "my msg" rep_mirror/8.0сделать слияние.
(примечание: это комментарий к ответу @VonC. Я поставил его как другой ответ, потому что блоки кода не вписываются в формат комментария)