Ответ 1
Вы хотите использовать FETCH_HEAD
.
всякий раз, когда вы запускаете git fetch ...
, создается магическая ссылка FETCH_HEAD
.
Попробуйте, например:
git fetch git://github.com/xxx/xxx.git branch_name && git merge FETCH_HEAD
Вариант использования: у меня есть репозиторий на GitHub, кто-то раздвоил его, добавил новую функцию и инициировал пул-запрос. Я не могу автоматически объединить это, потому что есть некоторые незначительные проблемы, которые я хотел бы сначала исправить.
Это одноразовое действие, мне никогда не понадобится этот удаленный репозиторий, поэтому я не хочу создавать локальную ветку remote
.
В основном я хотел бы сделать:
Как это сделать?
git checkout git://github.com/xxx/xxx.git
не работает вообще (ошибка с ошибкой)
git fetch git://github.com/xxx/xxx.git
работает, но ничего не обновляет
Вы хотите использовать FETCH_HEAD
.
всякий раз, когда вы запускаете git fetch ...
, создается магическая ссылка FETCH_HEAD
.
Попробуйте, например:
git fetch git://github.com/xxx/xxx.git branch_name && git merge FETCH_HEAD
Для любого сервера Git:
git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name
git checkout local-branch-name
Другой аккуратный метод (по крайней мере, в/из Github) выбирается следующим образом:
git fetch repo pull/7324/head:pr-7324
Где:
repo
указывает на дистанционное репо, например. git://github.com/xxx/xxx.git
.
pull/7324/head
- это запрос удаленного pull.
pr-7324
- локальная ветвь запроса запроса.
Затем вы можете использовать локальную ветвь PR, чтобы делать с ней что угодно.
Источник: адаптирован из это обсуждение.