39 votes

Avertissement git: HEAD distant fait référence à une référence inexistante, impossible de passer à la caisse

Je suis en train de configuration gitosis en suivant les instructions ici.

Il fonctionne très bien à partir de ma machine à distance de sorte que le serveur semble être en place bien, mais j'aimerais aussi être en mesure de faire du développement sur mon gitosis machine serveur à partir d'un compte d'utilisateur différent (pas le git de l'utilisateur créé dans le gitosis de l'installation).

J'ai copié la clé et modifié le gitosis.conf de sorte que l'autre compte d'utilisateur a accès, mais lorsque j'essaie de cloner il semble fonctionner, sauf à la fin il dit:

git Warning: remote HEAD refers to nonexistent ref, unable to checkout

et je me retrouve avec un répertoire vide, sauf pour .git

J'ai google pour cela un peu mais qui n'ont aucune réelle idée de ce qu'est le problème

25voto

srboisvert Points 7214

J'ai découvert ce qui n'allait pas. Le problème était que je ne faisais pas attention aux avertissements lorsque j'appuyais sur mon serveur gitosis, je ne savais donc pas que je ne poussais pas une branche en particulier. J'avais supposé que cela ne ferait que pousser le courant mais ce n'est pas le cas tant que vous n'avez pas défini:

 git config push.default current
 

21voto

  1. Faites les git branch -r et git checkout -b master <remotebranchofinterest>

  2. Vérifiez le fichier HEAD dans le fichier .git distant.

  3. Vérifiez si quelqu'un a déjà posé la question: ici

18voto

Boopathi Rajaa Points 1802

Une autre cause possible de cet avertissement peut être que la branche master du référentiel est manquante (OU), le référentiel n'utilise PAS de branche principale. Si tel est le cas, ne vous inquiétez pas pour le Warning, utilisez

 git checkout <some_existing_branch>
 

L'avertissement vient du fait que, par défaut, après que Pull Git tente de se connecter à la branche principale.

2voto

Cristian Vrabie Points 1250

Avait un problème similaire. Il semble que lors de ma première poussée, j'ai fait git push origin master:/refs/heads/master au lieu de git push origin master:refs/heads/master (remarquez la barre oblique supplémentaire). Cela a amené mon maître à être placé (dans le référentiel distant) à refs/heads/refs/heads/master au lieu de refs/heads/master . Le correctif consistait à réorganiser les dossiers sur à distance et à nouveau.

1voto

Greg Bacon Points 50449

Rester simple. Ajoutez à l'autorisation gitosis et à la clé SSH pour le compte d'utilisateur sur votre serveur et clonez comme d'habitude:

 user@server$ git clone git@server:repo.git
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X