Eu tenho um fork ( origin
) de um projeto ( upstream
) no github. Agora, o projeto upstream adicionou uma nova ramificação, quero importar para o meu fork. Como faço isso?
Tentei verificar o controle remoto e criar uma ramificação em cima disso, mas isso configura a ramificação da maneira que git push
está tentando enviar para upstream
:
git checkout upstream/branch
git checkout -b branch
editar
Talvez isso não esteja claro, mas quero adicionar a ramificação ao meu repositório local, para poder enviá-la para origin
(meu fork) via git push
. Como os repositórios upstream geralmente são somente leitura e você o contribui para contribuir.
Então, basicamente, quero fazer check-out de um ramo inexistente, origin
cujo conteúdo será extraído upstream
.
git fetch upstream
é uma opção melhor no primeiro passo, poisgit pull upstream
requer mais ações a serem feitas depoisgit remote add ...
para oupstream
.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.
adição do nome da ramificação no final do comando causa uma mesclagem entre a ramificação no upstream e a ramificação local atual, em vez de permitir a criação de uma nova ramificação local. Alguma ideia?git pull upstream
porgit fetch upstream
resolveu o problema e as etapas a seguir funcionaram.eu usaria
fonte
Também tive problemas com isso, e o Google me levou aqui. As soluções não funcionaram no entanto. Meu problema era que, quando adicionei meu upstream, ele configurou minha configuração do git para buscar apenas o mestre, em vez de todos os ramos. por exemplo, parecia assim
A edição de .git / config da seguinte forma corrigiu meu problema
fonte
As etapas a seguir funcionaram bem para mim (assumindo que o nome do ramo upstream seja
branch
):fonte
--track
?fonte
push
empurrando paraupstream
.Eu tive um cenário um pouco mais complicado, onde eu já tinha um
upstream
definido no meu fork (do repositório canônico), mas precisava fazer checkout de um galho de um fork diferente. Para fazer isso, o processo é um pouco diferente. Aqui está a configuração que eu acabei com:Agora você também pode fazer o checkout de um galho do
<other_user>
fork.Isso fornecerá um ramo local derivado do garfo.
Para empurrar esse ramo local, tive que ser específico com o meu comando push.
fonte