Como posso fazer o GitHub esquecer ou desassociar que meu repositório era originalmente uma bifurcação de outro projeto?
Eu criei um projeto no GitHub. Agora posso ver "bifurcada de qualquer coisa / qualquer coisa". O repositório pai "Whatever / Whatever" não é mais mantido. Foi-me permitido continuar usando a base de código do repositório original para criar um repositório independente.
Existe uma maneira de desanexar meu projeto do repositório original?
Você pode duplicar o repositório bifurcado em um novo repositório (sem a dependência da bifurcação) da interface do usuário do github e remover o original bifurcado:
fonte
Certifique-se de ter todas as ramificações e tags importantes em seu repositório local, exclua o repositório github, recrie o repositório pelos meios usuais (sem bifurcação) e empurre o repositório local novamente
git push --all
. Observe que, se você tiver ramificações locais que não deseja publicar, pode valer a pena criar um clone local limpo temporário para a operação.No entanto, isso também irá livrar-se do wiki e dos problemas. Como o wiki é de fato seu próprio repositório, ele pode ser tratado da mesma forma clonando-o e, em seguida, recriando e pressionando. O endereço de repo está na página de acesso Git do wiki (
[email protected]:user/repo.wiki.git
).Isso deixa problemas. Eles podem ser exportados por meio da API , mas, tanto quanto eu sei, você só pode criar problemas e comentários com sua pessoa, portanto, é impossível importá-los perfeitamente.
Portanto, se você precisar que os problemas sejam preservados, você deve passar pelo suporte do github, como sugere Thomas Moulard.
fonte
Eu tive o problema semelhante e acabei usando esta página de ajuda do github para resolvê-lo. Eu não me importei com o rastreador de wiki e problemas, como era para o meu blog usando um tema desenvolvido por outro usuário.
Para desanexar um repositório bifurcado e usá-lo como seu após várias confirmações sem perder toda a história:
git clone --bare [email protected]:user/forked_repo.git
Crie uma nova repositório vazio
new-repository
no site do github. E empurre uma versão espelhada:cd user.github.com.git/
git push --mirror [email protected]:user/new-repository.git
É possível renomear no github,
forked_repository
com outro nome para mantê-lo como backup e verificar as atualizações, se necessário. Ou simplesmente exclua-o.Renomear
new-repository
para o nome original faz o trabalho. Como efeito colateral, seus commits agora aparecem no seu histórico.fonte
Isso se aplica apenas ao GitHub Enterprise, não no github.com
Conectado a uma conta que tenha privilégios de administrador:
https://<ghe url>/<org>/<repo>
Isso foi testado no GitHub Enterprise 2.9
fonte
Usando as informações de aurelien e Clayton , consegui fazer o seguinte:
Aqui está a documentação para
git clone --bare
:Aqui está a documentação para
git push --mirror
:Nota: como as outras
git
respostas baseadas, isso não será copiado sobre problemas que não fazem parte dogit
repositório, como o wiki e os problemas. Por Tapio:[email protected]:user/repo.wiki.git
.fonte