Comment faire en sorte que git-svn utilise une branche svn particulière comme référentiel distant?
-
08-07-2019 - |
Question
Un mot d'avertissement: je suis un n00b pour git
en général. Mon équipe utilise des branches de fonctionnalités dans svn
et j'aimerais utiliser git-svn
pour suivre mon travail sur une branche de fonctionnalité particulière. J'ai suivi (à peu près) le le message de Andy Delcambre . configurer mon référentiel git
local, mais ces instructions semblent avoir conduit git
à choisir la branche svn
qui avait changé le plus récemment en tant que télécommande dépôt; le problème est que ce n'est pas la branche qui m'importe. Comment contrôler quelle branche git-svn
utilise? Ou est-ce que je m'approche complètement de cela?
UPDATE: J'ai utilisé les options -T
, -b
et -t
(dans mon cas, le svn Le référentiel
a plusieurs projets, mais je souhaite que le référentiel git
ne contienne que le projet sur lequel je travaille).
La solution
Muchas gracias sur le blog de Bart pour cette référence pour les branches svn dans git . Apparemment, tout ce dont j'avais besoin était de spécifier une branche distante lors de la création de la branche git
, par exemple,
git checkout -b git-topic-branch-foo foo
où toto
est le nom de la branche distante.
Autres conseils
Vous pouvez également jeter un coup d'oeil à ceci: git-svn est une drogue de passerelle - Robby sur rails .
J'ai utilisé quelque chose comme ceci lorsque je devais m'assurer que ma branche locale pointait sur la branche svn distante correcte:
git branch -r
pour obtenir le nom de la branche distante que je veux suivre. Puis
git reset --hard remotes/svn-branch-name
pour changer explicitement ma branche locale afin qu'elle pointe vers une autre branche distante.
Je devais d'abord lancer 'git svn fetch', car la branche que je voulais associer avait été créée après mon client git.
J'utilise git-svn mais je n'ai pas utilisé les fonctionnalités qui interagissent avec les branches SVN. Cela dit, je remarque que le tutoriel que vous avez suivi n’a pas utilisé le -T, -b , -t options pour git svn init. Ces options indiquent à git-svn comment sont nommés les répertoires trunk / branches / tags en amont, ce qui peut être important dans votre cas.