Vamos supor que exista um repositório someone/foobar
no GitHub, para o qual eu bifurquei me/foobar
.
Como puxo novas confirmações do repositório pai diretamente para o meu fork , sem precisar adicionar um controle remoto separado e lembre-se de extrair regularmente a partir daí ?
O objetivo é:
git pull
buscar no repositório paigit push
enviar tudo para o meu garfo
Respostas:
Abra o repositório Git bifurcado me / foobar .
Clique em Comparar :
Você receberá a notificação:
Clique em mudar a base nesta página:
Então você poderá ver todos os commits feitos a alguém / foobar após o dia em que você o bifurcou.
Clique em Criar solicitação pull :
Atribua um título à solicitação pull e talvez uma descrição e clique em Criar solicitação pull .
Na próxima página, role até a parte inferior da página e clique em Mesclar solicitação de recebimento e Confirmar mesclagem .
Seu repositório Git me / foobar será atualizado.
Editar: as opções de rebase são mostradas aqui:
fonte
Edit
botão e alternar manualmentebase fork
parame/foobar
ehead fork
parasomeone/foobar
. Desta forma é muito claraPorém, há uma ressalva:
isso é perfeito se você for o único a fazer alterações no garfo.
No entanto, se ele for compartilhado com outras pessoas, talvez seja necessário puxar do garfo; nesse caso, um controle remoto separado é a única solução.
Edit:
Na verdade, você pode
git pull [email protected]:me/foobar
, o que remove a ressalva.A escolha é sua quanto ao que é mais fácil de lembrar.
fonte
Eu usei um método bastante simples usando a interface da Web do GitHub para fazer isso:
me/foobar
)fonte
O aplicativo "Pull" é uma solução de configuração e esquecimento automática. Ele sincronizará a ramificação padrão do seu fork com o repositório upstream.
Visite o URL, clique no botão verde "Instalar" e selecione os repositórios em que deseja ativar a sincronização automática.
A ramificação é atualizada uma vez por hora diretamente no GitHub. Na sua máquina local, você precisa puxar a ramificação principal para garantir que sua cópia local esteja sincronizada.
Também respondido em https://stackoverflow.com/a/58965171/946850 .
fonte
Outra opção é usar o
Update from upstreamRepoName/master
botão no GitHub para Mac (e eu assumo o GitHub para Windows).fonte
Não sei como isso pode ser feito sem a adição de outro controle remoto; no entanto, sempre adiciono o repositório de que peguei como
upstream
remoto, para que eu pudesse simplesmente fazer:Isso sincronizará todos os ramos, inclusive. criando novos (remova a
refs/heads/
para atualizar apenas as ramificações existentes). Se algum dos seus ramos divergir, ocorrerá um erro nesse ramo.fonte