Nous travaillons ici avec un dépôt semi-centralisé git où je travaille. Chaque développeur a son propre sous-arbre dans le dépôt git central, il ressemble à ceci:Puis-je mapper des branches locales vers des branches distantes avec des préfixes différents dans git?
master alice/branch1 alice/branch2 bob/branch1 michael/feature release/1.0 release/1.1
Travailler localement dans mon arbre je topic/feature
, ce qui correspond à michael/feature
dans l'arbre central.
J'utilise
git push origin topic/feature:michael/feature
pour pousser mes changements à l'arbre à distance. Cependant, ceci est lourd et sujet à des erreurs (par exemple en omettant le nom du développeur, en mal orthographiant le nom de la fonctionnalité, etc.).
Je cherche une manière plus propre de faire ceci. Par exemple, "git push
". Je soupçonne que le réglage d'une télécommande différente avec un fetch modifié fecspec le fera, mais je ne sais pas exactement comment le faire. Je ne suis pas sûr comment modifier mes définitions actuelles de branche pour utiliser la télécommande différente.
Mon .git/config
actuelle ressemble à quelque chose comme:
[remote "origin"] url = git://central/git/project fetch = +refs/heads/*:refs/remotes/origin/* [branch "topic/feature"] remote = origin merge = refs/heads/michael/project
Edit: Je voudrais aussi appliquer à tractions/récupère. Mais le branch.<name>.merge
s'en occupe-t-il?
Je vais continuer à faire des recherches et poster ici si je trouve quelque chose, mais j'espère avoir d'autres bonnes idées.
Édition 2: J'ai décidé de conserver le même nom de branche locale et distante. Il semble que ce sera le moins de travail et le moins sujet aux problèmes futurs.
Lorsque vous modifiez le fichier .git/config, n'oubliez pas de le sauvegarder en premier. Si vous vous trompez, il vous suffit de restaurer la bonne version connue du fichier pour revenir à l'état correspondant. – webmat
Cela fait beaucoup de choses lors du déploiement de git pour héberger des services comme Heroku, Nodester et AppFog. – studgeek