我知道如何创建简单的别名,但是有一个非常有用的命令可以从磁盘中取消已删除的文件,但我无法使其正常工作。
git rm $(git ls-files --deleted)
(从这里Removing multiple files from a Git repo that have already been deleted from disk)
我尝试过:
git config --global alias.cleandeleted 'rm $(git ls-files --deleted)'
但是当我写道:
git cleandeleted
我收到以下错误:
error: unknown option `deleted)'
usage: git rm [options] [--] <file>...
-n, --dry-run dry run
-q, --quiet do not list removed files
--cached only remove from the index
-f, --force override the up-to-date check
-r allow recursive removal
--ignore-unmatch exit with a zero status even if nothing matched
答案 0 :(得分:4)
问题是$(...)
。正如您所定义的那样,git只处理git intern命令,并且不知道如何处理$(...)
。
有一个技巧可以让你指挥工作:
git config --global alias.cleandeleted '!git rm $(git ls-files --deleted)'
由于!
别名的工作原理,就好像命令直接发给命令行一样。