Je voudrais exécuter mais cette erreur est sortie. P> Je pense que je dois utiliser un tuyau, mais je ne sais pas comment faire ça . p> merci! p> p>
8 Réponses :
for i in `git status --porcelain | grep '^D.*\.foo$' | sed 's/^D \+//'`; do
git reset HEAD "$i"
git checkout "$i"
done
Merci. Maintenant, le changement mis en scène était de supprimer ces fichiers. Alors, cela fonctionnera-t-il toujours? Le fichier est en fait déjà supprimé dans le répertoire
Non, ça ne fonctionnera pas. Je vais mettre à jour ma réponse avec une nouvelle commande.
Ahhhhhh, je veux réellement exécuter cela sur des fichiers avec modèle * .gen.cs
Hmm, cela devrait fonctionner. Pouvez-vous vérifier que Statut git --porcelain code> sortira ces fichiers?
git réinitialiser la tête Git Checkout Head
Si vous utilisez PowerShell, ce qui suit fonctionnera.
dans une application GIT GUI comme Smartgit Je filtrerais les fichiers affichés par le motif *. FOO code>, appuyez sur Ctrl + A pour sélectionner tous les fichiers filtrés et appelez la commande onctuelle. P>
Cela devrait fonctionner dans Cygwin et UNIX env
git reset $(git diff --name-only --cached | grep *.foo)
E.g. Je veux faire correspondre toutes les "migrations" dans le chemin. P>
GIT DIFF -NAME -NAME SEULEMENT | Grep Migrations | Xargs Git Checkout P>
Si vous souhaitez EM> Checkout em> (Annuler les modifications) des non planifié les fichiers modifiés correspondant à un motif donné, cela fonctionne: MacOS: P> git checkout $(git st -s | sed -r 's/^.{2}//' | grep '\.foo$')
L'espace blanc dans le nom de fichier était de causer des problèmes à l'aide des approches Git Diff CODE>, mais les suivantes ont fonctionné: find ./ -name "*.foo" -exec git reset {} \;
Utilisez simplement EDIT: Essayez aussi Restauration GIT , mais soyez très prudent comme il semble qu'il semble être buggé au moment de la rédaction. P> GIT RESET * MYPATTERN * CODE> P>
Remarque: Ces fichiers ont été mis en scène comme supprimés. c'est-à-dire que les fichiers ne sont plus dans mon répertoire de travail. Donc, je suppose que j'ai besoin de quelque chose comme Git Checkout * .foo