Fork privado
A regra do github é que você não pode fazer um fork privado de um repositório público, então o que vamos fazer é criar um espelho de um repositório público dentro de um repositório privado, aqui tem a documentação oficial para isso.
Passo a passo
-
Vamos criar um clone do repositório a ser espelhado passando a flag
--bare(No final do processo este repositório será removido da sua máquina)git clone --bare [email protected]:<usuario-do-repositorio>/<nome-do-repositorio>.git -
Criar um novo repositório privado no github com o
mesmo nome do repositório a ser espelhado. -
Realizar o push do repositório espelhado para o repositório privado criado no passo anterior.
cd nome-do-repositorio.git git push --mirror [email protected]:<seu-usuario>/<nome-do-repositorio>.git -
Remover o repostório clonado no passo 1.
cd .. rm -rf nome-do-repositorio.git -
Agora você pode clonar o seu repositorio privado normalmente.
git clone [email protected]:<seu-usuario>/<nome-do-repositorio>.git -
Caso queira manter o seu repositório sincronizado com o repositório original, você pode adicionar o repositório original como um remote. Certifique-se também de desabilitar o push para o repositório original.
git remote add upstream [email protected]:<usuario-do-repositorio>/<nome-do-repositorio>.git git remote set-url --push upstream DISABLEPara ver a lista de repositorios remotos, execute o comando
git remote -v. O resultado deve ser algo como:origin [email protected]:<seu-usuario>/<nome-do-repositorio>.git (fetch) origin [email protected]:<seu-usuario>/<nome-do-repositorio>.git (push) upstream [email protected]:<usuario-do-repositorio>/<nome-do-repositorio>.git (fetch) upstream DISABLE (push)Quando você quiser puxar as mudanças do
upstreamvocê pode apenas dar um fetch no remoto e dar um rebase em cima do seu trabalho.git fetch upstream git rebase upstream/masterE resolver os conflitos se houverem.
É isso ai, agora você tem um fork privado do repositório original.
Por hoje é só pessoal, até a próxima.
Créditos
https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274