Git: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(touxe info Git do Manual do Novato pra ca')
(irc)
Linha 94: Linha 94:




==Canal do IRC sobre Git==
#git ou #github no freenode





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


Canal do IRC sobre Git

  1. git ou #github no freenode



Ver Tambem

Comandos Git