У меня есть fork ( origin
) из проекта ( upstream
) на GitHub. Теперь вышестоящий проект добавил новую ветку, которую я хочу импортировать в свой форк. Как я могу это сделать?
Я попытался проверить удаленный и создать ветку поверх этого, но это настраивает ветку так, как git push
она пытается подтолкнуть к upstream
:
git checkout upstream/branch
git checkout -b branch
редактировать
Может быть, это не было ясно, но я хочу добавить ветку в свой локальный репозиторий, чтобы я мог передать его origin
(мой форк) через git push
. Потому что репозитории верхнего уровня обычно доступны только для чтения, и вы делаете это, чтобы внести свой вклад.
Поэтому я в основном хочу origin
оформить несуществующую ветку , содержимое которой будет извлечено из upstream
.
git fetch upstream
это лучший вариант на первом этапе, посколькуgit pull upstream
требует дополнительных действий , чтобы сделать после того, какgit remote add ...
дляupstream
.You asked to pull from the remote 'upstream', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line.
добавление имени ветви в конце команды вызывает объединение ветви в восходящем потоке с текущей локальной ветвью вместо того, чтобы разрешить создание новой локальной ветки. Любые идеи?git pull upstream
наgit fetch upstream
решенную проблему, и следующие шаги работали.я хотел бы использовать
источник
У меня тоже были проблемы с этим, и Google взял меня сюда. Решения не сработали. Моя проблема заключалась в том, что когда я добавил свой апстрим, он настроил мой git config только на выборку master, а не на все ветви. например, это выглядело так
Редактирование .git / config следующим образом решило мою проблему
источник
Следующие шаги сработали хорошо для меня (если предположить, что имя ветки вверх по течению
branch
):источник
--track
?источник
push
паузой вupstream
.У меня был немного более сложный сценарий, в котором я уже
upstream
определил свой форк (из канонического репо), но мне нужно было извлечь ветку из другого форка. Чтобы сделать это, процесс немного отличается. Вот конфиг, с которым я закончил:Теперь вы также можете оформить ветку с
<other_user>
форка.Это даст вам локальную ветку, которая получена из форка.
Чтобы нажать эту локальную ветвь, я должен был быть конкретным с моей командой push.
источник