Synchronisation de toutes les branches avec git

Je pousse code à partir de deux sites principaux: mon PC à la maison et sur mon portable au travail. J'utilise Github pour stocker mon repos.

C'est le scénario: j'ai fait quelques travaux dans mon PC sur un référentiel qui j'ai travaillé pendant un certain temps (à la fois dans mon PC et mon portable), et s'est terminée avec les branches suivantes:

$ git branch
* master
* v123
* test-b

qui j'ai poussé à Github. So far So good.

Maintenant, je suis sur mon portable et c'est ce que je vois avant de tenter de retirer quoi que ce soit:

$ git branch
* master
* v_123

C'est une vieille version de mon repo dans mon portable (car je travaille dans mon PC) où les différences sont les suivantes: une branche est manquant (test-b), une autre a été re-nommé, ou, de manière équivalente supprimé et recréé avec un nouveau nom (c'est à dire: v_123 est maintenant v123), et beaucoup de choses ont changé, peut-être dans toutes les branches.

Je souhaite synchroniser toutes mes branches dans mon ordinateur portable, et de les avoir suivies correctement. J'ai regardé deux des plus voté questions concernant la branche de clonage/récupération (Comment cloner toutes les branches de Git?; Comment récupérer toutes les branches git) et maintenant je suis un peu perdu.

Est-il facile à utiliser git sync-branch --all de commande qui peut être utilisé pour synchroniser mon portable avec le dernier état de la mise en pension dans Github?

Vous ne voulez pas le faire. C'est une idée fausse commune. Lorsque vous "chercher", vous recevrez toutes les mises à jour, alors vous pouvez mettre à jour manuellement les locaux de la branche que vous avez quand vous avez besoin de l'utiliser.
mais qu'est ce que j'ai ne pas vous voulez faire, c'est à dire: mettre à jour manuellement chaque branche locale un à la fois. Je veux que mon repo être complètement synchronisés avec une seule commande. Est-ce pas?
Lorsque vous synchronisez votre repo est complètement synchronisés. Si vous utilisez git branch -r vous pouvez voir toutes les références exactement comme ils sont sur la télécommande. git branch est de vous montrer les trucs de ce qui est local pour que les pensions de titres.
Quand j'ai sync? Quand suis-je la synchronisation? C'est précisément la question.
git fetch. Cela permettra de mettre à jour vos références à distance, et en outre apporter tous les objets requis (s'engage, les arbres, les gouttes, etc). Toujours git fetch d'apporter un référentiel à jour. Ce que vous faites avec votre local de travail à ce point est préférable de traiter sur une branche par branche.

OriginalL'auteur Gabriel | 2014-11-26