2009-02-05 7 views
3

Je suis nouveau à git, et j'ai un dépôt subversion que je veux être capable d'importer dans un dépôt git de temps en temps (pour le déploiement). Donc, je veux effectuer la plupart des mises à jour en utilisant svn mais je voulais voir quelle est la meilleure façon de le pousser à git (juste la branche par défaut/master).Importer une branche svn dans git

Répondre

5

Je sais que vous ne voulez importer la branche maître/tronc de votre dépôt svn, mais je voudrais mentionner svn2git afin d'importer votre svn dans un dépôt git.

Il est mieux que git svn clone parce que si vous avez ce code dans svn:

trunk 
    ... 
    branches 
    1.x 
    2.x 
    tags 
    1.0.0 
    1.0.1 
    1.0.2 
    1.1.0 
    2.0.0 

git-svn passera par l'histoire s'engager à construire une nouvelle git.
importera toutes les branches et étiquettes comme des branches svn distantes, alors que ce que vous voulez vraiment, ce sont les branches locales git-native et les objets git tag.
donc après avoir importé ce projet, vous obtiendrez:

$ git branch 
    * master 
    $ git branch -a 
    * master 
    1.x 
    2.x 
    tags/1.0.0 
    tags/1.0.1 
    tags/1.0.2 
    tags/1.1.0 
    tags/2.0.0 
    trunk 
    $ git tag -l 
    [ empty ] 

Après svn2git est fait avec votre projet, vous obtiendrez ceci:

$ git branch 
    * master 
    1.x 
    2.x 
    $ git tag -l 
    1.0.0 
    1.0.1 
    1.0.2 
    1.1.0 
    2.0.0 

Enfin, il est que la tête du maître est le même que le tronc actuel du svn repo.

3

Pourquoi ne pas simplement travailler en git sur votre poste de travail? Ce serait le plus simple.

  • git svn clone va récupérer votre dépôt SVN et importer les révisions dans un nouveau repo git.
  • Si vous devez effectuer un push vers un référentiel git distant pour le déploiement, git remote add l'ajoutera pour vous.
  • Si vous avez besoin de pousser dans le dépôt SVN puis git svn dcommit
1

en un mot:

mkdir my_blog_tmp 
cd my_blog_tmp 
git-svn init http://code.yoursite.net/my_blog/trunk/ --no-metadata 
git config svn.authorsfile ~/Desktop/users.txt 
git-svn fetch 

et félicitations pour nous rejoindre Gits! Here est une grande feuille de triche pour (ex) svn utilisateurs.

Questions connexes