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 (à peu près) suivi le message d'Andy Delcambre pour configurer mon référentiel local git
, mais ces instructions semblent avoir conduit git
à choisir le svn
branche qui avait changé récemment en tant que référentiel distant; le problème est que ce n'est pas la branche qui m'importe. Comment contrôler quelle branche git-svn
les usages? Ou est-ce que je m'approche complètement de cette erreur?
MISE À JOUR: j'ai utilisé le -T
, -b
, et -t
options (dans mon cas, car le référentiel svn
a plusieurs projets, mais je veux que le référentiel git
contienne uniquement le projet sur lequel je travaille).
Muchas gracias au blog de Bart pour cette pratique 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ù foo
est le nom de la branche distante.
Vous pourriez également jeter un œil à ceci: git-svn est un médicament de passerelle - robby on Rails .
J'ai utilisé quelque chose comme ça quand j'avais besoin de m'assurer que ma branche locale pointait vers la bonne branche svn distante:
git branch -r
pour obtenir le nom de la branche distante que je souhaite suivre. ensuite
git reset --hard remotes/svn-branch-name
pour changer explicitement ma branche locale pour pointer vers une autre branche distante.
Je devais d'abord exécuter 'git svn fetch', car la branche à laquelle je voulais m'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 suiviez n'utilisait pas les options - T, -b, -t pour git svn init. Ces options indiquent à git-svn le nom des répertoires trunk/branches/tags en amont, ce qui peut être important dans votre situation.