Git: mudanças entre as edições
(irc) |
Sem resumo de edição |
||
Linha 28: | Linha 28: | ||
Mais informações em http://sourceforge.net/apps/trac/sourceforge/wiki/Git | Mais informações em http://sourceforge.net/apps/trac/sourceforge/wiki/Git | ||
== Interface Git para Subversion e CVS == | |||
Para usar Git com Subversion: https://sourceforge.net/apps/trac/vxl/wiki/GitSvn | |||
Para usar Git com CVS: https://sourceforge.net/apps/trac/vxl/wiki/GitCvs | |||
== Migrar de SVN para GIT == | == Migrar de SVN para GIT == |
Edição das 03h30min de 9 de agosto de 2011
Para uma breve lista de comandos, veja Comandos Git.
Create Repos on Sourceforge
Acesse a conta do projeto por ssh:
ssh -t USER,PROJECT@shell.sourceforge.net create
Vá ao diretório do projeto:
cd /home/scm_git/l/la/labmacambira
Crie o diretório com o nome do repositório desejado:
mkdir NOME_REPOS
Crie o repositório (bare):
git --git-dir=NOME_REPOS init --shared=all --bare
Pronto, agora você poderá usá-lo:
Clone-o:
git clone ssh://USERNAME@labmacambira.git.sourceforge.net/gitroot/labmacambira/NOME_REPOS
Se já tiver um repos git e quer migrá-lo para SF como origin:
cd NOME_REPOS git remote rm origin git remote add origin ssh://USERNAME@labmacambira.git.sourceforge.net/gitroot/labmacambira/NOME_REPOS git config branch.master.remote origin git config branch.master.merge refs/heads/master git push origin master
Mais informações em http://sourceforge.net/apps/trac/sourceforge/wiki/Git
Interface Git para Subversion e CVS
Para usar Git com Subversion: https://sourceforge.net/apps/trac/vxl/wiki/GitSvn
Para usar Git com CVS: https://sourceforge.net/apps/trac/vxl/wiki/GitCvs
Migrar de SVN para GIT
Criamos um repos temporário para baixar o SVN:
mkdir repos_tmp cd repos_tmp git svn init URL_DO_SEU_REPOSITORIO_SVN --no-metadata git svn fetch
Agora vamos limpar a sujeira deixada pelo SVN, clonando o repos temporário no repos final:
cd .. git clone repos_tmp repos_final cd repos_final
E configuramos para usar o SF:
git remote rm origin git remote add origin ssh://USERNAME@labmacambira.git.sourceforge.net/gitroot/labmacambira/NOME_REPOS git config branch.master.remote origin git config branch.master.merge refs/heads/master git push origin master
Migrar de CVS para Git
Exitem diversas maneiras de se converter um repositorio existente para Git. Se o repositorio principal nao sera convertido para Git, ou se o repo principal e' simples, pode-se usar o git cvs. Nesse caso, veja o link: https://sourceforge.net/apps/trac/vxl/wiki/GitCvs
Ver tambem o seguinte link, para o caso de se usar Git com Subversion: https://sourceforge.net/apps/trac/vxl/wiki/GitSvn
Agora, para migrar o repositorio CVS para Git de uma vez por todas, vou descrever um jeito que usei para converter o SIP, o qual tinha um repositorio CVS no sourceforge. Primeiramente, usei o seguinte comando de backup do sourceforge pra baixar o repo CVS:
rsync -av rsync://siptoolbox.cvs.sourceforge.net/cvsroot/siptoolbox/* .
Segui as instrucoes em Creating Multiple Repositories
da pagina https://sourceforge.net/apps/trac/sourceforge/wiki/Git
- Tenho 4 repositorios dentro do projeto siptoolbox: animal,simpletoolbox,www e siptoolbox
- Dentro do shell do sourceforge:
mkdir animal simpletoolbox www git --git-dir=www init --shared=all --bare
este ultimo comando sendo repetido para animal e simpletoolbox.
Em seguida, dei um clone em cada um, depois, para cada modulo (p.ex. www abaixo), editei cvs2git.options colocando o caminho apropriado na string logo apos run_options.set_project
cvs2git --options=../cvs2git.options cd www cat ../cvs2svn-tmp/git-{blob,dump}.dat | git fast-import git reset --hard git push origin master rm -rf ../cvs2svn-tmp
Eh isso ae, mais ou menos..
Referencias de migracao CVS para Git
Canal do IRC sobre Git
- git ou #github no freenode