3 votes

Utiliser Git sur un lecteur partagé au sein de WSL

J'ai un lecteur connecté au réseau, T: auquel je peux accéder via l'explorateur de fichiers de Windows ou GitBash sans problème. Mais dans WSL, je ne peux pas utiliser git pour pousser vers un fichier distant situé sur le disque. Voici mon flux de travail :

Monter le lecteur distant

sudo mkdir /mnt/t
sudo mount -t drvfs T: /mnt/t -o uid=kkovacs -o gid=kkovacs

Créer le dépôt distant

cd /mnt/t/MyFolder
mkdir remote_repo
cd remote_repo
git init --bare

Créer le dépôt local et ajouter le dépôt distant

cd ~
mkdir local_repo
cd local_repo
git init
git remote add origin /mnt/t/MyFolder/remote_repo

Ajouter un nouveau fichier au repo local, commit il, et essayer de pousser

touch asdf
git add asdf
git commit -m "added asdf"
git push origin master

La sortie de la commande push est la suivante :

Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (11/11), 6.72 KiB | 573.00 KiB/s, done.
Total 11 (delta 0), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database /mnt/t/MyFolder/remote_repo/./objects/incoming-p5fut6
remote: fatal: failed to write object
error: remote unpack failed: unpack-objects abnormal exit
To /mnt/t/MyFolder/remote_repo/
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '/mnt/t/MyFolder/remote_repo/'

J'ai également vérifié en utilisant ls -l que je suis le propriétaire de tous les fichiers partout. Tout cela fonctionne très bien avec GitBash, mais je veux utiliser WSL.

EDIT : J'ai posté un nouvelle question sur un sujet légèrement différent mais très similaire.

0voto

He Lin Points 1

Modifié

Ces derniers jours, j'ai constaté que si je branche mon lecteur portable après avoir lancé wsl, il ne sera pas accessible dans wsl. J'ai essayé wsl -t <distro_name> et connectez-vous à nouveau à wsl pour le monter avec succès.

Voici ma réponse initiale.

Dans mon cas, cela est dû à une erreur du système de fichiers. Bien que je n'aie aucune idée de la façon dont une telle erreur de système de fichiers peut se produire, j'ai réussi à la corriger avec chkdsk.exe . Disons que nous fixons le lecteur avec l'étiquette de volume comme g:\ alors la commande suivante peut être utilisée.

chkdsk.exe g: /F

Que cela vous aide :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X