L'utilisation git branch --all
montre toutes les succursales distantes et locales . Quand Git actualise-t-il cette liste?
Sur tirer / pousser? Et comment puis-je le rafraîchir en utilisant Git Bash ?
git
github
branch
remote-branch
BendEg
la source
la source
git ls-remote
pourrait être intéressant ici.Réponses:
Pour mettre à jour la liste locale des succursales distantes:
Pour afficher toutes les branches locales et distantes que Git (local) connaît
la source
git remote update origin --prune
est ce que je cherchais thxgit remote update
, et la réponse acceptée, qui utilisegit fetch
, voir icigit 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écutergit 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éefeature
que vous avez tirée au moins une fois dans votre Git local. Vous verrezorigin/feature
répertorié comme une branche lorsque vous exécutezgit branch --all
. Mais cette branche est en fait une branche Git locale . Lorsque vous le faitesgit 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.la source
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 suffitgit 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.
la source
git fetch -p
Utilisez
git fetch
pour récupérer toutes les dernières branches créées.la source
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' autregit config remote.NAME.prune true
pour résoudre la question OPSi 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.
la source
Si vous utilisez Eclipse,
Ils devraient tous être là-dedans. Clic droit et "checkout".
la source