788 votes

comment puis-je changer la télécommande d'une branche git est le suivi?

Le "central" référentiel a dû être mis en place sur un nouveau serveur, j'ai donc créé une nouvelle télécommande sur mon repo local, et poussé à cela.

Mais maintenant, quand je fais "git pull", il prétend que je suis jusqu'à ce jour. C'est rien de mal, il me dit à propos de la vieille branche distante, pas de la nouvelle, qui je sais pour un fait nouveau s'engage à aller chercher.

Comment puis-je changer mon agence locale pour suivre une autre télécommande?

Je peux le voir dans le git fichier de config, mais je ne veux pas gâcher les choses.

[branch "master"]
    remote = oldserver
    merge = refs/heads/master

1282voto

urschrei Points 4690

Sans supprimer quoi que ce soit, en utilisant git jusqu'à la version 1.7.12 :
git branch --set-upstream branch_name your_new_remote/branch_name

En utilisant git v1.8.0 ou plus récent :

git branch branch_name --set-upstream-to your_new_remote/branch_name

Ou vous pouvez utiliser le commutateur -u :
git branch branch_name -u your_new_remote/branch_name

19voto

Jefromi Points 127932

Si vous êtes sain d'esprit à ce sujet, en éditant le fichier de configuration est assez sûr. Si vous voulez être un peu plus paranoïaque, vous pouvez utiliser de la porcelaine de commande pour la modifier:

git config branch.master.remote newserver

Bien sûr, si vous regardez la config d'avant et d'après, vous verrez qu'il a fait exactement ce que vous alliez faire.

Mais dans votre cas, ce que je voudrais faire c'est:

git remote rename origin old-origin
git remote rename new-origin origin

C'est, si le nouveau serveur va être l'canonique à distance, pourquoi ne pas l'appeler origine que si vous aviez initialement clonés à partir d'elle?

7voto

uma Points 2011
 git fetch origin
git checkout --track -b local_branch_name origin/branch_name
 

ou

 git fetch
git checkout -b local_branch_name origin/branch_name
 

4voto

RDL Points 3589

Vous pouvez soit supprimer votre branche actuelle et faire:

 git branch --track local_branch remote_branch
 

Ou changer le serveur distant de changement à l'actuel dans la config

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X