J’ai vérifié un référentiel svn en utilisant git svn. Maintenant j’ai besoin de commander une des branches et le suivre. Quel est le meilleur moyen de le faire ?
Réponse
Trop de publicités?Standard Subversion de mise en page
Créer un git clone de qui comprend votre Subversion trunk, tags, et les branches avec
git svn clone http://svn.example.com/project -T coffre -b branches -t tags
L' --stdlayout
option est un joli raccourci, si votre dépôt Subversion utilise la structure typique:
git svn clone http://svn.example.com/project --stdlayout
Faire de votre dépôt git d'ignorer tout de la subversion repo:
git svn show-ignore >> .git/info/exclure
Vous devriez maintenant être en mesure de voir toute la Subversion des branches sur le git côté:
git branch-r
Dire le nom de la branche dans la Subversion est - waldo
. Sur le git côté, vous feriez exécuter
git checkout -b valdo-svn télécommandes/waldo
L'-svn suffixe est d'éviter les mises en garde de la forme
avertissement: refname 'waldo" est ambigu.
Pour mettre à jour la branche git waldo-svn
, exécutez
git checkout valdo-svn git svn rebase
À partir d'un tronc seule caisse
Pour ajouter une Subversion de la branche d'un coffre-seulement clone, modifier votre dépôt git de l' .git/config
à contenir
[svn distant "svn-mybranch"] url = http://svn.example.com/project/branches/mybranch fetch = :refs/remotes/mybranch
Vous aurez besoin de développer l'habitude de courir
git svn fetch --extrait-tous les
pour mettre à jour tout ce qui git svn
pense télécommandes. À ce stade, vous pouvez créer et suivre les directions ci-dessus. Par exemple, pour créer une branche git qui correspond à mybranch, exécutez
git checkout -b mybranch-svn télécommandes/mybranch
Pour les branches à partir de laquelle vous avez l'intention d' git svn dcommit
, garder leur histoire linéaire!
De plus amples informations
Vous pourriez également être intéressé par la lecture d'une réponse à une question connexe.