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 --prune
est ce que je cherchais thx
git remote update
, et la réponse acceptée, qui utilise git fetch
, voir ici
git fetch
n'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 origin
a le même effet et vous tapez moins.
Je crois que si vous exécutez à git branch --all
partir 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 --all
et 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 --all
ne 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 feature
que vous avez tirée au moins une fois dans votre Git local. Vous verrez origin/feature
ré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 fetch
je l'ai fait.
git fetch
ne fonctionne pas pour moi, besoin d'ajouter --prune
. Btw, je ne suis pas downvoter;)
git fetch
ne 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 --prune
ce qui devrait être utilisé.
Le réglage git config remote.origin.prune true
rend --prune
automatique. 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 fetch
pour récupérer toutes les dernières branches créées.
git fetch
n'a rien changé pour moi avec git 2.17.1. Quelle version et quelles options avez-vous utilisées?
--prune
ou de l' autre git config remote.NAME.prune true
pour 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-remote
pourrait être intéressant ici.