2013-06-25 43 views
0

我尝试从混帐删除已删除的文件:删除删除的文件:参数列表太长

git rm `git status | grep deleted | awk '{print $3}'` 

,但得到的MAC庆典错误:

-bash: /usr/local/git/bin/git: Argument list too long 

如果我跑.. 。

git status | grep deleted | awk '{print $3}' 

...我成功获取了要删除的文件列表。但如何从git中删除它们?

+0

您是否在寻找git add -A? – innaM

回答

6

xargs会将命令长度限制为shell不会窒息并根据需要调用多次传递的命令。

git status | grep deleted | awk '{print $3}' | xargs git rm 
+0

请注意这一点。我宁愿grep在“删除:”。另外,如果文件名包含“已删除:”,它将从git源代码管理中删除。 – Eamorr

+0

对于“^ \ s * deleted:”而言,如果不想删除包含文本“deleted:”的文件名,则为grep。 – AgentME