576 votes

Git et le méchant "error : cannot lock existing info/refs fatal" (erreur : ne peut pas verrouiller les informations/références existantes)

Après avoir cloné à partir d'un dépôt git distant (chez bettercodes) J'ai fait quelques changements, j'ai commité et j'ai essayé de pousser :

git push origin master

Des erreurs avec :

erreur : impossible de verrouiller les informations/références existantes
fatal : git-http-push a échoué

Ce cas concerne un référentiel déjà existant.

Ce que je faisais avant, c'était :

  1. git config –global http.sslVerify false
  2. git init
  3. git remote add [url]
  4. git clone
  5. modifier les données
  6. git commit

Chez 'bettercodes', je n'ai pas accès au journal git.

J'utilise Windows. L'erreur détaillée était :

C:\MyWorkStuff\Projects\Ruby\MyProject\>git push origin master
Unable to create branch path https://user:password@git.bettercodes.org/myproject/info/
error: cannot lock existing info/refs
fatal: git-http-push failed

J'ai cloné avant, puis changé le code et commis.

2voto

user2347763 Points 46

En dehors des nombreuses réponses déjà fournies à cette question, une simple vérification des branches du dépôt local qui existent dans votre machine et celles qui n'existent pas dans le dépôt distant, vous aidera. Dans ce cas, vous n'utilisez pas l'option

git pruneau

comme beaucoup l'ont suggéré.

Il suffit de supprimer la branche locale

git branch -d <branch name without a remote tracking branch by the same name>

comme indiqué dans la capture d'écran ci-jointe en utilisant -D pour forcer la suppression lorsque vous êtes sûr qu'une branche locale n'a pas de branche distante suivie.

lock ref error git

2voto

Marc Wäckerlin Points 179

J'ai eu le même message d'erreur, la cause première était une réécriture de l'historique (renommage de branche).

Ça a marché pour moi :

git remote prune origin

Source : https://codedaily.in/git-error-cannot-lock-refs/

2voto

alphaplus Points 134

Cas 1 : Vérifions les branches à partir de git-server si elles sont dupliquées ou non.

Example: two branches below are duplicated:

    - upper_with_lower
    - UPPER_with_lower

---> Let consider removing one of them.

Cas 2 : La branche que vous poussez est dupliquée avec une autre branche.

1voto

Dans mon cas, il était lié au nom de la branche que j'avais déjà créée.

Pour résoudre le problème, j'ai créé une branche avec le nom qui ne devrait pas exister, comme :

git checkout -b some_unknown_branch

Ensuite, j'ai effacé toutes mes autres branches (non actives) parce qu'elles n'étaient que des déchets inutiles.

git branch | grep -v \* | grep -v master | xargs git branch -D

et ensuite renommer ma branche actuelle avec le nom que j'ai prévu, comme :

git checkout -m my_desired_branch_name

1voto

joliejuly Points 675

Dans mon cas, j'ai dû supprimer manuellement les anciens tags qui avaient été supprimés à distance.

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