Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 从git中删除已删除的文件:参数列表太长_Macos_Git_Bash - Fatal编程技术网

Macos 从git中删除已删除的文件:参数列表太长

Macos 从git中删除已删除的文件:参数列表太长,macos,git,bash,Macos,Git,Bash,我尝试从git中删除已删除的文件: git rm `git status | grep deleted | awk '{print $3}'` 但在mac bash中出现错误: -bash: /usr/local/git/bin/git: Argument list too long 如果我跑 git status | grep deleted | awk '{print $3}' 。。。我已成功获取要删除的文件列表。但是如何从git中删除它们呢?xargs会将命令长度限制在shell不会

我尝试从git中删除已删除的文件:

git rm `git status | grep deleted | awk '{print $3}'`
但在mac bash中出现错误:

-bash: /usr/local/git/bin/git: Argument list too long
如果我跑

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

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

xargs
会将命令长度限制在shell不会阻塞的范围内,并根据需要多次调用传递的命令

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

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

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

你在找GitAdd-A吗?你在找GitAdd-A吗?小心点。我更喜欢grep上的“删除:”。另外,如果文件名包含“deleted:”,那么如果您不想删除包含文本“deleted:”,它将从git source control.Grep中删除“^\s*deleted:”。如何将此与rm-r--cached结合使用?简单地将-r--cached添加到命令中是行不通的。我得到了用法提示。如果其他人来这里复制这个示例,并像我一样感到困惑:我必须在awk命令中将$3更改为$2。请小心。我更喜欢grep上的“删除:”。另外,如果文件名包含“deleted:”,那么如果您不想删除包含文本“deleted:”,它将从git source control.Grep中删除“^\s*deleted:”。如何将此与rm-r--cached结合使用?简单地将-r--cached添加到命令中是行不通的。我得到了用法提示,以防其他人来到这里复制这个示例并像我一样感到困惑:我必须在awk命令中将$3更改为$2。