我有一个 git 别名 ( git undo
),它撤消工作目录中的所有内容,包括新文件、更改的文件和删除的文件:
!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
?