Alors imaginez que j'ai un référentiel local que j'ai cloné d'origine. Au moment de mon clone initial, l'origine avait quatre branches: featureA, featureB, featureC et master. Si je pousse des modifications à l'origine qui suppriment la fonctionA branche j'attends de voir quelque chose d'être supprimé la prochaine fois que je lance:Comment est-ce que je laisse dire à Git de m'avertir à propos des branches distantes éventuellement supprimées?
$ git pull origin
Cependant, ce qui se passe est que je ne vois rien et lorsque je tente de tirer cette branche spécifique vers le bas avec
$ git pull origin featureA
Je reçois l'erreur suivante:
fatal: Couldn't find remote ref featureA
fatal: The remote end hung up unexpectedly
Cela tout à fait logique, comme e La branche a été effacée de la télécommande alors oui, l'arbitre n'est plus là mais je me demande pourquoi je n'ai pas été averti de ce fait. Mon .git/config pour la télécommande ressemble à ceci:
[remote "origin"]
fetch = +refs/heads/:refs/remotes/origin/
url = [email protected]:/data/git/perecep.git
J'ai écrit un petit script shell qui utilise le git ls-distance avec la sortie de branche git -r à détecter les refs distants dont les branches n'existent plus sur le serveur et m'indiquer si je voudrais les supprimer mais je me demande si je fais juste quelque chose de fondamentalement faux ici?
Je suivais un plus workflow « serveur central » avec Git b/c je suis dans un environnement d'entreprise, ce qui est la façon dont les développeurs avec les ordinateurs portables préfèrerait partager du code (en créant des branches de sujet public sur un serveur central pour pousser leurs changements à la collaboration) pour le moment. Depuis que nous sommes nouvellement passés de SVN c'est quelque chose qu'ils sont plus à l'aise avec. Je suppose que mon souci est que, après avoir créé plusieurs branches éphémères de cette nature qui sont supprimées après l'intégration de la fonctionnalité/sujet, tous les développeurs ont maintenant des tonnes de références distantes obsolètes dans leur repo local. – NewGitUser