J'ai plusieurs fichiers .screen dans /xxx/documentation
et ses sous-répertoires qui sont déjà suivis par Git.
Après avoir modifié bon nombre de ces fichiers d'écran, j'exécute git add documentation/\\*.screen
— comme indiqué par le premier exemple dans git-add
documentation - pour mettre en scène ces fichiers, mais la commande échoue:
fatal: pathspec 'documentation/\ *. screen' ne correspond à aucun fichier
Ma commande est-elle mauvaise ou git a-t-il un bug?
C'est un bug dans la documentation. Citez l'astérisque avec
Écran $ git add documentation/\ *.
ou
$ git add 'documentation/*. screen'
pour obtenir le comportement que vous souhaitez.
Si, à la place, vous souhaitez ajouter des fichiers dans le répertoire en cours uniquement, utilisez
$ git add * .screen
MISE À JOUR: J'ai soumis un patch qui corrige le problème, maintenant corrigé à partir de la version 1.6. 6.2.
J'ai essayé la réponse acceptée, mais cela n'a pas fonctionné pour moi .. alors voici la mienne juste au cas où quelqu'un voudrait faire son travail sans passer du temps à disséquer divers aspects qui pourraient causer le problème:
find documentation -name "*.screen" | xargs git add -u
// l'option -u de git-add ajoute pour indexer uniquement les fichiers qui ont été précédemment suivis et modifiés
Vous avez dit au Shell de rechercher *.screen
(c'est-à-dire exactement cette chaîne - qui n'existe pas - au lieu de ce que vous voulez "tous les fichiers se terminant par .screen
). Omettez le \\
pour que Shell puisse faire l'extension du nom de fichier pour vous.
C'est ce que je viens d'utiliser pour un problème similaire de git en ajoutant tous les fichiers dans un répertoire:
find . | sed "s/\(.*\)/\"\1\"/g" | xargs git add
Pour la question d'origine, la commande serait:
find -name "*.screen" | sed "s/\(.*\)/\"\1\"/g" | xargs git add
Notez que j'ai affaire au cas où un nom de fichier entièrement spécifié contient des espaces. C'est pourquoi ma réponse. Modifiez la portion avant le premier |
afin de sélectionner différents fichiers à ajouter.
git add * .Java fonctionne pour moi pour ajouter récursivement tous les fichiers Java
essayer
git add ./documentation/*.screen