133 votes

Avertissement Git Checkout: impossible de dissocier des fichiers, autorisation refusée

Je suis conscient qu'il y a des problèmes similaires sur git relatifs à la " impossible de dissocier l'avertissement, mais je n'ai pas été en mesure de les utiliser.

La principale différence est que ce qui s'est passé quand je n'ai pas eu affaire à des submodules en aucune façon (j'ai jamais fait affaire avec eux avant). J'ai créé une branche appelée "mise à niveau", a supprimé mon ancien cadre les fichiers, et copié dans le nouveau. J'ai utilisé la commande git add -Un, puis engagé tout. Quand j'ai essayé de regarder le tronc, branche, il a répondu avec les erreurs suivantes:

warning: unable to unlink requirements/views/sk/index.php: Permission denied
warning: unable to unlink requirements/views/sv/index.php: Permission denied
warning: unable to unlink requirements/views/zh/index.php: Permission denied
warning: unable to unlink requirements/views/zh_cn/index.php: Permission denied
warning: unable to unlink requirements/views/zh_tw/index.php: Permission denied

...etc. Il y a des centaines d'entre eux.

Au début, je pensais que c'était simplement un problème d'autorisations, et j'ai donc ajouté du groupe des autorisations en écriture à toutes les exigences répertoire de façon récursive, mais il n'y a pas eu de changement.

Edit: Comme l'a suggéré dans la réponse ci-dessous, j'ai essayé de faire la même chose, mais avec tout le reste fermé. J'ai eu la chance n'est plus qu'avant.

Ce problème est particulièrement débilitante que je ne peut pas se déplacer sur le tronc le retour à la normale de développement.

Merci beaucoup,

Daniel Moniz

118voto

Elijah Lynn Points 742

Lors de ma première rencontre avec cette erreur, mon utilisateur avait le droit "d'écrire" dans le fichier mais pas dans le répertoire qui le contient. Vérifiez les autorisations du répertoire contenant le fichier.

99voto

VonC Points 414372

J'ai l'habitude de voir ce genre d'erreur quand il y a un processus de ne pas relâcher la poignée de ces fichiers.

Assurez-vous que rien n'est en cours d'exécution, et d'essayer ensuite de passer à la caisse à nouveau.

Remarque: il peut aussi être liée avec la manière dont Git a été installé (Windows, il peut générer de problème si msysgit est installé en C:\Program ou C:\Program Files, voir "msysgit - sh.exe - fourche: Permission denied - Vista 64 bits" et un commentaire 2 de l'émission 437)

34voto

rtconner Points 491

"Dissocier" signifie essentiellement "supprimer le fichier" dans ce cas.

Cette erreur n'est pas causée par git lui-même. Vous devriez avoir des erreurs similaires lors de la suppression manuelle de ces fichiers, dans une ligne de commande ou un explorateur de fichiers.

34voto

Vince Yuan Points 1735

Vous n'avez pas la permission d'accès, peut-être parce que vous n'en êtes pas le propriétaire.

Corrigez en changeant le propriétaire pour vous-même:

 sudo chown -R your_login_name /path/to/folder
 

22voto

Rob Erskine Points 329

J'avais le problème avec un fichier default-settings.php dans Drupal 7. Dans ce cas, je n'ai pas pu le supprimer ou le rétablir comme l'a dit @rtconner. Je n'avais pas d'application ou quoi que ce soit qui utilise ce fichier et il s'est avéré être une erreur d'autorisation.

J'ai ajouté chmod 777 * au dossier puis j'ai pu le restaurer sans problème.

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