Estou tendo dificuldades para mudar de um repositório SVN hospedado no code.google para um repositório git no github. Especificamente:
- Como posso alterar o código no code.google de SVN para GIT, mantendo o histórico de revisões?
- Como posso alterar o wiki no code.google de SVN para GIT, mantendo o histórico de revisões?
- Como posso mover meu repositório GIT do code.google para o GitHub?
- Como mantenho os dois repositórios sincronizados, enquanto ainda uso o GitHub como repositório principal?
Respostas:
9 para resposta № 1Variáveis:
- $ project é o nome do seu projeto
- $ username é seu nome de usuário no github
Isso pressupõe que o seu $ project name é o mesmo no github e no code.google e você já inicializou seu repositório no github.
Além disso, se o seu repositório code.google já for GIT, você poderá pular para a etapa 4.
Converta projeto de SVN para GIT. Isso é tão fácil quanto acessar a guia Administração-> Origem e alterá-lo de SVN para GIT. A propósito, o svn ainda está disponível após você fazer isso; portanto, não se preocupe com a perda completa do código.
Converter fonte do code.google SVN para code.google GIT (mantendo o histórico)
git svn clone --stdlayout https://$project.googlecode.com/svn $project cd $project git remote add googlecode https://code.google.com/p/$project git push --all googlecode cd ..
Converter wiki do google SVN para o google GIT (mantendo o histórico)
git svn clone https://$project.googlecode.com/svn/wiki $project.wiki cd $project.wiki/ git remote add googlecode https://code.google.com/p/$project.wiki git push --all googlecode cd ..
Obter novo repositório git no github
mkdir github cd github/ git clone https://code.google.com/p/$project.git cd $project/
Obter código-fonte do code.google GIT para o clone do github local
git remote set-url origin https://github.com/$username/$project.git git pull
Enviar a fonte do clone local para o github
git push origin master
Diga ao seu clone local para enviar confirmações ao github AND code.google
git remote set-url --add origin https://$project.googlecode.com/git
O envio do teste é confirmado no github e no code.google
touch test.txt git add test.txt git commit -m "Testing repo replication" test.txt git push
Agora, sempre que você fizer alterações no seu clone local, ele enviará essas alterações para os dois repositórios.
Nota: Se você clonar novamente em outro local (como um computador diferente), será necessário repetir a etapa 6 novamente.
0 para resposta № 2
Agora existe um recurso de exportação no Google Code - acesse a página de código do Google do seu projeto, ou seja, code.google.com/p/yourproject
então você verá um botão "Exportar para o GitHub" que fará isso em algumas etapas (nota: você precisará autorizá-lo com sua conta do GitHub).
Observe que você pode fazer isso para qualquer projeto, não apenas o seu.