9
votes

Comment puis-je tirer toutes les branches à la fois - y compris les branches nouvellement créées?

Je sais qu'il y a d'autres questions qui abordent des variantes à cette question. À savoir Ce un.

Le problème avec c'est que les réponses supposent que toutes les branches locales suivent déjà une branche distante (ou même existent à distance).

Le problème que je suis confronté est que je travaille avec une équipe distante, et parfois, ils peuvent créer une branche distante que je n'ai pas localement.

Comment puis-je, dans une commande 1, tirez les deux dernières modifications apportées aux succursales que je suivez localement et tirez également la dernière version de toutes les succursales que je ne suive pas.

Quand je fais git tire --all qui tire simplement la dernière de mes branches de suivi.

Merci.

EDIT:

J'ai deux télécommandes - bitbucket et heroku .

Je veux retirer toutes les branches de mon bitbucket distante ... non de mon heroku distant.

J'ai fait ceci:

$ git pull bitbucket --Tall fatal: fetch --all ne prend pas d'argument de référentiel

Et ceci:

$ git tire --all bitbucket fatal: fetch --all ne prend pas d'argument de référentiel

aussi ceci:

$ git pull bitbucket Mot de passe: Vous avez demandé de tirer de la télécommande "Bitbucket", mais n'a pas spécifié de branche. Comme ce n'est pas la télécommande configurée par défaut pour votre branche actuelle, vous devez spécifier une succursale sur la ligne de commande.

git

2 commentaires

Veuillez mettre à jour votre question avec plus de détails sur ce que vous voulez (quels vous rapprochent ou ne veulent pas chercher à partir de), quelles commandes que vous avez essayées jusqu'à présent et quels étaient les résultats.


@CupCake je l'ai fait.


3 Réponses :


5
votes
$ git remote update
$ git pull --all
should do it - though its not 1 command 

7 commentaires

Le problème est que j'ai 2 télécommandes. Heroku et Bitbucket. Comment puis-je regrouper cela? Lorsque je fais git update à distance La première télécommande qu'il vérifie la télécommande est Heroku - que je ne veux pas que ça fasse.


git update update bitbucket doit obtenir le bitbucket un à jour


Comment puis-je spécifier pour tirer de bitbucket ? $ GIT Pull Bitbucket --Toutes fatales: Fetch --all ne prend pas d'argument de référentiel est ce qui se passe. Si je viens de faire git tire --all il essaie de tirer de heroku d'abord.


Son git pull --all bitbucket Utilisez un homme git-tirer pour voir plus d'informations


Yeh ... j'ai essayé ça. Il n'a pas fonctionné $ git pull --all bitbucket fatal: fetch --all ne prend pas d'argument de référentiel


Just git tire bitbucket devrait tirer toutes les branches.


$ GIT Pull BitBucket Mot de passe: Vous avez demandé de tirer de la télécommande 'Bitbucket', mais n'a pas spécifié de branche. Parce que ce n'est pas la télécommande configurée par défaut pour votre branche actuelle, vous devez spécifier une succursale sur la ligne de commande.



0
votes

Réponse mise à jour basée sur de nouvelles informations de l'affiche originale concernant la télécommande qu'il souhaite aller à partir de: xxx

mettra à jour vos succursales de suivi à distance, ainsi que d'ajouter de nouveaux succursales sur la télécommande.

FETCH ne mettra pas à jour vos succursales locales, à moins que vous ne le transmettez pas un REFSPC, et une mise à jour forcée ou forcée dans de tels cas une vraie fusion.

Voici un alias qui va chercher de BitBucket et mettre à jour vos succursales de suivi à distance et votre branche principale locale: xxx vous Utilisez-le comme ceci: Sync git . Fait!

Le - Prix d'extraction signifie que cela supprimera également des branches de suivi à distance obsolètes des branches qui n'existent plus dans votre télécommande BitBucket.

Le REFSPEC + Refs / Têtes / *: Refs / Remote / Bitbucket / * signifie aller chercher toutes les branches de BitBucket et les mettre dans nos branches de suivi à distance pour BitBucket dans votre repo local. Le + à l'avant signifie qu'il permettra des mises à jour forcées, ce qui est généralement correct pour vos branches de suivi à distance.

Le refspec maître: maître signifie Prend la branche maître sur BitBucket et utilisez-la pour mettre à jour votre branche maître local . Comme il n'y a pas de + , il ne fera pas une mise à jour forcée. Si vous souhaitez autoriser cela, ajoutez un + devant, comme celui-ci: + maître: maître .

La commande git Tête silencieuse est nécessaire pour faire d'abord si vous avez votre CORET CORET (), car sinon Fetch ne le mettre à jour pas s'il est vérifié. Si vous l'avez vérifié lorsque vous exécutez la commande, cela vérifiera la validation que vous êtes directement à la place (c'est ce que tête signifie), de sorte que le maître L'étiquette de branche est libre de bouger pendant que vous n'êtes pas dessus.

Le Git Checkout --Quiet - || || Git Checkout --Quiet - Découvre la deuxième éventualité de la succursale que vous étiez avant Git Checkout --Quiet Head était exécuté, que l'extraction et la mise à jour des succursales travaillaient. (J'ai effectivement eu des problèmes dans le cas d'échec réellement, et je ne suis pas sûr de savoir pourquoi ... si vous vous retrouvez dans l'état de tête détaché, il suffit d'exécuter de la commande git et vous 'll aura bien).


Ancienne réponse:

Si vous utilisez git fetch --all , qui va chercher toutes les succursales de tous les télécommandes que vous avez ajoutées à votre repo. Il ne mettra pas à jour toutes vos branches locales, mais c'est un début.


5 commentaires

Je suis dans le "tu ne devrais jamais (" quoi, jamais? "" Bien, à peine ") Utilisez-moi-même" Camp Moi-même, alors je considère qu'une fonctionnalité. :-)


Eh bien, je ne veux pas tirer toutes les branches de toutes les télécommandes. Je veux juste tirer toutes les branches de 1 distance. Comment puis-je faire cela avec git fetch ?


@marcamillion git fetch devrait vous donner ce que vous voulez.


@marcamillion Voulez-vous simplement mettre à jour vos succursales de suivi à distance et récupérer de nouvelles succursales de suivi à distance ou souhaitez-vous également mettre à jour des succursales locales à votre repo?


Je voulais essentiellement faire une traction (qui est une extraction et fusion / rebase si le drapeau est fourni) sur `Bitbucket, qui mettra à jour mes branches locales avec toutes les modifications de leurs équivalents distants et vont également chercher toute nouvelle branche juste créé que je n'ai pas localement.



0
votes

xxx

est également une option non intrusive.


0 commentaires