J'ai actuellement une configuration à distance git comme celle-ci:
[remote "upstream"]
url = <redacted>
fetch = +refs/heads/*:refs/remotes/upstream/*
Lorsque j'émets git pull
sur le maître de branche, toutes les têtes distantes sont récupérées dans les télécommandes / en amont, puis les télécommandes / en amont / le maître sont fusionnées dans le maître. Toutes les balises qui peuvent être atteintes sont également récupérées en même temps, ce qui est très pratique.
Je voudrais git pull
également récupérer toutes les balises de la télécommande, pas seulement celles qui sont directement accessibles depuis les têtes. Au départ, j'ai essayé de définir tagopt == --tags
, mais j'ai trouvé que cela ne faisait que récupérer les balises et donc tout cassait. (Junio dit même que c'est une horrible erreur de compréhension ).
Existe-t-il un moyen de git pull
récupérer toutes les balises distantes par défaut, en plus des têtes distantes?
git push origin <tag_name>
tagopt
solution n'est plus une erreur de configuration; à partir de 1.9 / 2.0 (Q1 2014) cela récupérera toutes les balises en plus de ce qui est normalement récupéré.Réponses:
Vous devriez être en mesure d'accomplir cela en ajoutant une refspec pour les balises à votre configuration locale. Concrètement:
la source
Un simple a
git fetch --tags
fonctionné pour moi.la source
git ls-remote
.L'
--force
option est utile pour actualiser les balises locales. Surtout si vous avez des tags flottants:L'option git pull a également les
--force
options, et la description est la même:mais, selon la doc de
--no-tags
:Si cette instruction par défaut n'est pas une restriction, vous pouvez également essayer
la source
git pull --force
ne comprend pasgit fetch --tags --force
Pour moi, ce qui suit semblait fonctionner.
la source
git fetch --tags
. Je voulais donner une réponse alternative. pull = chercher + fusionner. Donc, la récupération se produit également.C'est simple. Fait une
la source
J'utilise ceci avec magit sur kernel.org
la source