У меня есть GIT псевдоним (git undo
), который уничтожает все в рабочем каталоге, в том числе новых файлов, измененные файлы и удаленные файлы:мерзавца отменить псевдоним с xargs
!git reset --hard && git ls-files -d | xargs -0 git rm --ignore-unmatch && git clean -fq
На OS X, это прекрасно работает. Однако в Linux я столкнулся с следующей проблемой: если файлы не были удалены из репозитория, команда git ls-files -d | xargs -0 git rm --ignore-unmatch
потерпит неудачу (xargs
ничего не будет передано).
Есть ли способ иметь xargs
тихо двигаться дальше, если он ничего не получает от git ls-files
?
Если вы прохождение '-0' опция' xargs' то важно, что вы также использовать '-z' с' git ls-files'. –
Обратите внимание, что для отмены * всего * вы можете (или не можете) хотеть сказать 'git clean -qfdx' (см.' Git help clean') –