J'essaye de faire un git pull et j'obtiens l'erreur suivante:
Échec de la dissociation du fichier 'lib / xxx.jar'. Dois-je réessayer? (o / n)
Peu importe si je sélectionne y ou n, il n'est pas possible d'arriver à un état où je peux tirer ou pousser.
chmod
et / ouchown
sur ledit fichier.Réponses:
Cela signifie généralement qu'un processus utilise toujours ce fichier spécifique (il a toujours une poignée dessus)
(sous Windows,
ProcessExplorer
est bon pour suivre ce type de processus)Essayez de fermer vos autres programmes et réessayez votre
git pull
.Notez que vous avez une alternative avec la
GIT_ASK_YESNO
variable .Mise à jour janvier 2019:
Cela devrait être encore plus corrigé, avec Git 2.21 (Q1 2019), car "
git gc
" et "git repack
" ne fermaient pas les fichiers de paquets ouverts qu'ils trouvaient inutiles avant de les supprimer, ce qui ne fonctionnait pas sur une plate-forme incapable de supprimer un fichier ouvert.Cela a été corrigé.
Voir commit 5bdece0 (15 décembre 2018) par Johannes Schindelin (
dscho
) .(Fusionné par Junio C Hamano -
gitster
- dans commit 5104f8f , 18 janvier 2019)Mise à jour janvier 2016
Cela devrait être corrigé dans Git 2.8 (mars 2016) (et voir Git 2.19, T3 2018 ci-dessous)
Voir commit d562102 , commit dcacb1b , commit df617b5 , commit 0898c96 (13 janvier 2016) par Johannes Schindelin (
dscho
) .(Fusionné par Junio C Hamano -
gitster
- dans commit 3c80940 , 26 janvier 2016)Cela résout le
git-for-widows
problème 500 .En regardant le test utilisé pour valider cette nouvelle approche , une solution de contournement possible (puisque Git 2.8 n'est pas encore sorti) serait de déclencher artificiellement
gc.autoPackLimit
.git 2.8.4 (juin 2016) mentionne le problème 755 qui devrait également atténuer le problème ( commit 2db0641 ):
En fait, le
git-for-windows
problème 500 mentionné ci-dessus est vraiment résolu avec Git 2.19, Q3 2018.Voir « Git - Dissociation du fichier
.idx
et.pack
échec (le seul descripteur de processus appartenant à ce fichier estgit.exe
) »la source
Ceci est une réponse spécifique à Windows, donc je suis conscient que cela ne vous concerne pas ... Je l'inclus juste pour le bénéfice des futurs chercheurs.
Dans mon cas, c'était parce que j'exécutais Git à partir d'une ligne de commande non élevée. "Exécuter en tant qu'administrateur" l'a corrigé pour moi.
la source
Pour moi, c'était parce que Visual Studio essayait de recharger tous les fichiers modifiés à partir de l'extraction. Faites actualiser Visual Studio, puis exécutez
git gc
.la source
Sur Windows utilisant GitHub pour Windows, j'ai eu une erreur similaire dans le shell lors de l'exécution
git gc
:Je l'ai résolu en fermant l'interface graphique de GitHub.
la source
Essayez de redémarrer votre serveur Apache ou un autre serveur Web car il a peut-être verrouillé certains de vos fichiers.
la source
Fermé Visual Studio et Rubymine et n'a plus eu l'erreur. L'un d'eux était le coupable.
la source
Fermez votre IDE puis faites
git pull
. Ça va marcher.la source
J'ai aussi ce problème, mais j'ai découvert que c'était l'UltraEdit, car j'utilisais UE pour organiser et modifier mon espace de travail éclipse ~~
Peut-être parce que l'UE a un handle sur l'ancienne version d'un fichier spécifique, Git n'a pas pu le dissocier.
Après avoir fermé UltraEdit, le problème ne s'est plus jamais produit.
la source
Cela a été causé dans mon cas par SimpLESS, le compilateur LESS. Vous devez le fermer dans la zone de notification.
la source
Le problème est que vous avez un programme qui gère ces fichiers. J'ai une suggestion que vous devriez utiliser le Unlocker pour trouver le programme qui le gère:
Unlocker
la source
Cela s'est produit sur Windows XP, à la fois avec le message bloqué dans une boucle et en pouvant être effacé en répondant.
L'occurrence bloquée dans une boucle a été effacée en fermant Git-GUI. (J'exécutais git merge -i dans un shell bash.)
Les autres événements se sont probablement produits en raison du grand nombre de fichiers dans mon référentiel. Cela s'est produit principalement avec les fichiers .cod, que j'exclus plus tard du contrôle de version. (J'ai une raison de les suivre initialement.) Je pense que la cause pourrait être liée à la vitesse à laquelle Git utilise des descripteurs de fichiers.
Je me demande si le problème de la capacité à être résolu en répondant est lié à Windows, comme deux affiches précédentes l'ont mentionné, et personne n'a dit avoir le problème avec d'autres systèmes d'exploitation.
la source
J'avais PHPStorm ouvert, fermé et tout allait bien.
la source
J'ai eu le même problème et j'ai fermé tous les programmes associés à partir du gestionnaire de tâches Windows. Cependant, cela ne fonctionnait toujours pas. La partie intéressante est que j'ai exécuté "Git rebase" au lieu de "Git pull" et cela a fonctionné!
la source
Aucune des réponses ci-dessus ne fonctionne pour moi, mais j'exécute la commande git gc avec l'option force, et cela a résolu mon cas.
'git gc --force'
[Windows 7, Exécuter en tant qu'administrateur => Invite de commandes]
la source
Essayez d'exécuter l'éditeur de ligne de commande en mode administratif et exécutez la commande. Cela aide et résout le problème. :)
la source
Dans mon cas, j'avais une ancienne méthode d'élagage des balises à l'origine du problème. Je l'ai résolu en désinstallant l'original:
puis en ajoutant ceci pour élaguer les branches supprimées sur le serveur:
la source
J'ai rencontré la même erreur et je l'ai résolue en fermant l'éclipse et en tirant à nouveau pendant que le fichier était utilisé.
la source