Pourquoi n'y a-t-il pas de «pathspec» lorsque j'essaie de supprimer un dossier dans Git?


9

J'essaie de supprimer un dossier de mon référentiel Git avec

git rm folderToRemove

mais Git émet cette erreur lorsque j'essaie de le faire.

fatal: pathspec 'siteFiles/applicationFiles/templates/folderToRemove' 
did not match any files

Mon répertoire actuel est "modèles". Je trouve cette erreur étrange car je peux cddans le dossier "folderToRemove", donc elle existe clairement. Que signifie cette erreur?

Réponses:


17

Git ne versionne pas les répertoires, seulement le "contenu" (contenu du répertoire ou fichiers)

ne correspond à aucun fichier

Cela signifie qu'il n'y a aucun fichier à supprimer folderToRemove, comme je le mentionne dans " Impossible de supprimer les fichiers de manière récursive de Git ".
Vous pouvez maintenant supprimer (Windows delou Unix rm) le répertoire lui-même.

Comme décrit dans " Suppression de répertoires vides dans Git ", vous pouvez également exécuter:

git clean -fd

Toutefois:

Avertissement: la commande clean supprime tous les fichiers de la copie de travail actuelle qui ne sont pas suivis par git. C'est un bon moyen de perdre votre travail si vous n'avez pas ajouté de nouveaux fichiers à git. Toujours courir git addavant git clean.

Exécutez plutôt d'abord a:

git clean -d -x -n

Comme expliqué dans " Comment effacer mon répertoire de travail local dans git? ".


mais comment "nettoyer" la télécommande d'une autre personne lorsqu'elle fait un pull?
Ilea Cristian du

@IleaCristian en raison de la nature distribuée de Git, vous ne nettoyez pas une télécommande, seulement votre propre clone.
VonC

Le problème est que nous ne faisons pas la version finale. Les fichiers de projet (que l'EDI voit) sont en fait des dossiers avec "extension" (myproj.xcworkspace ou myproj.xcodeproj). Je voulais supprimer le xcworkspace et ne laisser que le xcodeproj. Fondamentalement, je voulais forcer les personnes qui font la construction à utiliser uniquement le fichier xcodeproj.
Ilea Cristian du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.