J'ai un alias git (git undo
) qui annule tout dans le répertoire de travail, y compris les nouveaux fichiers, les fichiers modifiés et les fichiers supprimés:git alias undo avec xargs
!git reset --hard && git ls-files -d | xargs -0 git rm --ignore-unmatch && git clean -fq
Sur OS X, cela fonctionne très bien. Sur Linux, cependant, je rencontre le problème suivant: si aucun fichier n'a été supprimé du référentiel, la commande git ls-files -d | xargs -0 git rm --ignore-unmatch
échouera (xargs
ne sera rien passé).
Existe-t-il un moyen pour que xargs
se déplace silencieusement s'il ne reçoit rien de git ls-files
?
Si vous passez l'option '' -0' à xargs' alors il est important que vous utilisez aussi Option '-z' avec' git ls-files'. –
Notez que pour annuler * tout *, vous pouvez (ou non) vouloir dire 'git clean -qfdx' (voir' git help clean') –