Adicionar um controle remoto SVN ao seu repositório Git

Eu amo o git. Quem não gosta? Vou te dizer quem: empresas maiores com uma infraestrutura existente que gira em torno do SVN. Felizmente, você ainda pode colher alguns dos benefícios do git adicionando ramos svn-remote!

Você pode clonar um repositório SVN inteiro (tronco, ramos, tags):

$ git svn clone https://myrepo.com/svn -T trunk -b branches -t tags

Mas às vezes estamos com pressa e só pegamos o porta-malas. E agora? Com a ajuda de Ian Boston , aprendi como adicionar remotes / branches depois de inicializar meu repo git-svn.

Adicionando ramos a um repositório git-svn existente


  1. Edite o .git / config para adicionar um svn-remote:

    [core]  
    repositoryformatversion
    = 0
    filemode
    = true
    bare
    = false
    logallrefupdates
    = true
    [svn-remote "svn"]
    url
    = https://myrepo.com/repos/projectName/trunk
    fetch
    = :refs/remotes/git-svn
    [svn-remote "svn2"]
    url
    = https://myrepo.com/repos/projectName/branches
    fetch
    = :refs/remotes/git-svn-mybranch
  2. Busque a filial via terminal. “-r” seguido imediatamente por um número de revisão válido irá buscar apenas dessa revisão, mas é opcional. Digamos que quiséssemos buscar a partir da revisão 311 – até agora tudo bem? Não acredita em mim? Muito bem, você pode verificar se funcionou listando os ramos.

    $ git svn fetch svn2 -r311  
    $ git branch
    -a
  3. Criar / Trocar branches

    $ git checkout git-svn-mybranch  
    $ git checkout
    -b master-mybranch