Git: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(movi cvs->git para Git)
(touxe info Git do Manual do Novato pra ca')
Linha 1: Linha 1:
Para uma breve lista de comandos, veja [[Comandos Git]].




== Migrando um Repo CVS para 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
 
== 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.
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.
Se o repositorio principal nao sera convertido para Git, ou se o repo principal e' simples, pode-se usar o git cvs.

Edição das 01h37min 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

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




Ver Tambem

Comandos Git