Réponses:
Pour mettre à jour la liste locale des succursales distantes:
git remote update origin --prune
Pour afficher toutes les branches locales et distantes que Git (local) connaît
git branch -a
git remote update origin --pruneest ce que je cherchais thx
git remote update, et la réponse acceptée, qui utilise git fetch, voir ici
git fetchn'a pas supprimé mon cache local de branches distantes. Seul --pruneétait capable de tout nettoyer.
git config remote.origin.prune true
git remote prune origina le même effet et vous tapez moins.
Je crois que si vous exécutez à git branch --allpartir de Bash, la liste des branches distantes et locales que vous voyez reflètera ce que votre Git local "sait" au moment où vous exécutez la commande. Parce que votre Git est toujours à jour en ce qui concerne les succursales locales de votre système, la liste des succursales locales sera toujours exacte.
Cependant, pour les succursales éloignées, ce n'est pas nécessairement le cas. Votre Git local ne connaît que les branches distantes qu'il a vues lors de la dernière extraction (ou extraction). Il est donc possible que vous exécutiez git branch --allet ne voyiez pas une nouvelle branche distante qui est apparue après la dernière extraction ou extraction.
Pour vous assurer que votre liste de succursales locale et distante est à jour, vous pouvez effectuer une opération git fetch avant de l' exécuter git branch --all.
Pour plus d'informations, les branches "distantes" qui apparaissent lorsque vous exécutez git branch --allne sont pas vraiment distantes du tout; ils sont en fait locaux. Par exemple, supposons qu'il y ait une branche sur la télécommande appelée featureque vous avez tirée au moins une fois dans votre Git local. Vous verrez origin/featurerépertorié comme une branche lorsque vous exécutez git branch --all. Mais cette branche est en fait une branche Git locale . Lorsque vous le faites git fetch origin, cette branche de suivi est mise à jour avec toutes les nouvelles modifications de la télécommande. C'est pourquoi votre état local peut devenir périmé, car il peut y avoir de nouvelles succursales distantes ou vos succursales de suivi peuvent devenir périmées.
git fetchje l'ai fait.
git fetchne fonctionne pas pour moi, besoin d'ajouter --prune. Btw, je ne suis pas downvoter;)
git fetchne supprime pas les branches distantes supprimées. C'est probablement pourquoi certaines personnes ont voté
L'OP n'a pas demandé de nettoyage pour toutes les télécommandes, plutôt pour toutes les branches de la télécommande par défaut.
C'est git fetch --prunece qui devrait être utilisé.
Le réglage git config remote.origin.prune truerend --pruneautomatique. Dans ce cas, il suffit git fetchégalement d'élaguer les branches distantes périmées de la copie locale. Voir aussi Taille automatique avec Git fetch ou pull .
Notez que cela ne nettoie pas les branches locales qui ne suivent plus une branche distante. Voir Comment tailler les branches de suivi locales qui n'existent plus sur la télécommande pour cela.
git fetch -p
Utilisez git fetchpour récupérer toutes les dernières branches créées.
git fetchn'a rien changé pour moi avec git 2.17.1. Quelle version et quelles options avez-vous utilisées?
--pruneou de l' autre git config remote.NAME.prune truepour résoudre la question OP
Si vous utilisez Eclipse et souhaitez voir de nouvelles branches en amont;
Dans la perspective Git, faites un clic droit sur un référentiel Git, puis choisissez "Extraire de l'amont". Cela récupère de nouvelles branches distantes.
Si vous utilisez Eclipse,
Ils devraient tous être là-dedans. Clic droit et "checkout".
git ls-remotepourrait être intéressant ici.