Comment ajouter le répertoire parent au safe.directory de Git ?

Le système de gestion de versions Git fonctionne avec un dossier ".git" situé dans votre projet. Le système a été récemment mis à jour par les développeurs suite à une faille découverte dans la sécurité. On pouvait utiliser la commande "Git" depuis son répertoire, et si Git ne trouve pas de dossier ".git", il va remonter jusqu'à trouver un dossier ".git". Le problème était que Git ignorait alors les permissions et pouvait manipuler un dossier appartenant à quelqu'un d'autre. Ce n'est plus le cas, et dès que Git détecte que l'utilisateur n'est pas propriétaire du dossier, il stoppe et affiche le message d'erreur "fatal: unsafe repository ('F:/GitHub/mon-projet' is owned by someone else)".

La première chose à vérifier est que lorsque vous lancez la commande, vous êtes bien dans le répertoire de votre projet. Si c'est bien le cas, le problème peut venir du fait que le projet provient d'une plateforme externe, par exemple GitHub. Si vous installez le projet en provenance d'une autre plateforme, utilisez bien la commande "git clone" pour cloner le répertoire. Vous serez ainsi le propriétaire de votre répertoire avec le code du projet dedans.

Si votre ordinateur n'est pas partagé avec un autre utilisateur, et que vous êtes sûr de vous, vous pouvez suivre la consigne donnée par le client Git et ajouter le répertoire 'F:/GitHub/mon-projet' à la liste des répertoires ignorés.

git config --global --add safe.directory F:/GitHub/mon-projet

Depuis la version 2.35.3, la vérification du propriétaire du répertoire peut être désactivée. Il faut que vous soyez sûr de vous, car cela ajoute une grosse vulnérabilité au niveau de la sécurité. Il faut également s'assurer d'être le seul utilisateur de l'ordinateur. En utilisant le caractère '*', on indique avec la même commande que tous les répertoires sont ignorés lors de la vérification.

git config --global --add safe.directory '*'

Git