2010-06-08 3 views
1

Je suis sûr que c'est très simple à faire, mais j'ai suivi un certain nombre de tutoriels et ne peux pas comprendre cela.Git me rend fou, comment puis-je créer une nouvelle branche distante basée sur une branche non-maître existante?

J'ai actuellement deux Branchs sur mes & à distance des machines locales:

master 
*search_refactor 

Nous voulons créer une nouvelle branche éloignée appelée design_refactor et ont le code dans cette nouvelle branche d'être (d'abord) un clone du code dans la branche search_refactor.

Le but de tout cela est que je veux essayer quelques idées que j'ai sur la branche search_refactor, les partager avec d'autres, mais ne pas modifier la branche search_refactor.

Notre version actuelle de git est 1.6.5

Merci!

Répondre

2

Pour créer une nouvelle branche sur la télécommande, vous pouvez la créer en appuyant sur la nouvelle référence. Par exemple.

git push origin search_refactor:refs/heads/design_refactor 

Ce qui pousse l'état de la branche locale search_refactor la nouvelle branche design_refactor à distance. IIRC vous avez besoin de refs/heads pour contourner un contrôle de sécurité qui nécessite que la branche existe déjà ou pour que vous repoussiez une branche locale nommée correspondante.

Si vous voulez utiliser l'état de la branche à distance search_refactor, sans aucun changement que vous pourriez avoir dans votre branche locale search_refactor vous pouvez utiliser:

git push origin origin/search_refactor:refs/heads/design_refactor 

Une fois que vous avez fait cela, vous pouvez checkout une nouvelle branche locale basée sur la branche distante.

git checkout -b design_refactor origin/design_refactor 

(Pour simplicitly j'ai supposé que votre télécommande principale est appelée origin.)

+0

Merci Charles, qui a résolu la question - explication très claire! – Jason

+1

Ne serait-il pas possible (et plus logique) de créer d'abord la branche locale, puis de la pousser à distance? 'git checkout -b design_refactor'; 'git push d'origine design_refactor: refs/heads/design_refactor' – ScottJ

Questions connexes