Avez-vous les permissions adéquates sur votre repo' ?
Ma solution n'était pas liée à git
mais je voyais les mêmes messages d'erreur, et sale l'état des sous-modules.
La cause première était des fichiers dans le fichier .git
Le dossier était détenu par root
donc git
n'avait pas d'accès en écriture, donc git
n'a pas pu modifier le sale l'état des sous-modules lorsqu'ils sont exécutés en tant que mon utilisateur.
Avez-vous le même problème ?
À partir du dossier racine de votre référentiel, utilisez find
pour lister les fichiers appartenant à Root [optionnel].
find .git -user root
Solution [Linux]
Changez tous les fichiers dans le .git
pour avoir vous en tant que propriétaire
sudo chown -R $USER:$USER .git
# alternatively, only the files listed in the above command...
sudo find .git -user root -exec chown $USER:$USER {} +
Comment cela est-il arrivé ?
Dans mon cas, j'ai construit des bibliothèques dans des sous-modules à partir d'un conteneur Docker, le démon Docker s'exécute traditionnellement en tant que root
Les fichiers créés tombent donc dans la catégorie root:root
propriété.
Mon utilisateur a les privilèges de Root par procuration à travers ce service, donc même si je n'ai pas sudo
quoi que ce soit, mon dépôt git avait toujours des changements appartenant à root
.
J'espère que ça aidera quelqu'un, sortez d'ici.