web-dev-qa-db-fra.com

Comment puis-je faire en sorte que git-svn utilise une branche svn particulière comme référentiel distant?

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).

62
Hank Gay

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

foo est le nom de la branche distante.

61
Hank Gay

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.

30
Sam Mulube

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.

9
android.weasel

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.

1
Greg Hewgill