Depuis quelques jours, chaque fois que je presse tab touche pour compléter les noms de branche dans Bash je vois le message:
avertissement: ignorer les références/télécommandes cassées/origine/HEAD avertissement: ignorer les références/télécommandes cassées/origine/HEAD
Par exemple, c’est ce que je vois quand j’ai une branche appelée feature/foo et que j’appuie sur tab:
git checkout f
$ git checkout fwarning: ignoring broken ref refs/remotes/Origin/HEAD
warning: ignoring broken ref refs/remotes/Origin/HEAD
eature/
Je l'ai rencontré récemment quand un membre de mon équipe a supprimé notre ancienne branche de développement de la télécommande. J'ai exécuté cette commande pour vérifier l'état de HEAD:
$ git symbolic-ref refs/remotes/Origin/HEAD
refs/remotes/Origin/old_dev
Cette commande affiche le nom de l'ancienne branche de développement, qui n'existe plus.
J'ai corrigé les avertissements en utilisant ceci:
$ git symbolic-ref refs/remotes/Origin/HEAD refs/remotes/Origin/new_dev
(Où "new_dev" est un nom de branche. Remplacez-le par le nom de la branche que vous souhaitez HEAD pour pointer vers.)
C'est une solution plus simple que symbolic-ref.
Depuis vous avez peut-être excl la branche sur laquelle Origin/HEAD a été initialement indiquée.
1. Listez vos branches distantes avec:
git branch -r
2. S'il n'apparaît pas dans les résultats:
Origin/HEAD -> Origin/(something)
. Il suffit de le rediriger avec:
git remote set-head Origin master
où "maître" est le nom de votre branche principale (tête).
Lancer à nouveau git branch -r
Affiche maintenant Origin/HEAD -> Origin/(something)
et l'avertissement disparaît.
On dirait que la branche par défaut de votre télécommande Origin
n'existe plus.
Corrige la branche par défaut de la télécommande:
Il suffit de lancer la commande -
git remote set-head Origin master
Prendre plaisir!