Я вытащил все удаленные ветви через git fetch --all
. Я вижу ветку, которую я хотел бы объединить, git branch -a
как remotes / origin / branchname. Проблема в том, что он недоступен. Я не могу слить или оформить заказ?
источник
Я вытащил все удаленные ветви через git fetch --all
. Я вижу ветку, которую я хотел бы объединить, git branch -a
как remotes / origin / branchname. Проблема в том, что он недоступен. Я не могу слить или оформить заказ?
Вы можете ссылаться на эти ветви удаленного отслеживания ~ (перечислены с помощью 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 branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
источник
Если вы уже загрузили удаленную ветку и сделали это
git branch -a
,вы получите что-то вроде:
После этого вы можете использовать
rep_mirror/8.0
для локального обозначения вашего удаленного филиала.Хитрость в том, что
remotes/rep_mirror/8.0
это не работает, ноrep_mirror/8.0
работает.Таким образом, команда, как
git merge -m "my msg" rep_mirror/8.0
сделать слияние.(примечание: это комментарий к ответу @VonC. Я поставил его как другой ответ, потому что блоки кода не вписываются в формат комментария)
источник