我正在尝试删除所有合并的分支。我一直用
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
但由于某种原因,它不再起作用了,即使我以前使用过这个命令。它返回错误“致命:需要分支名称”
我正在尝试删除所有合并的分支。我一直用
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
但由于某种原因,它不再起作用了,即使我以前使用过这个命令。它返回错误“致命:需要分支名称”
如果没有提供输入stdin
- 例如,如果前面的管道没有产生输出 -xargs
将运行不带参数的命令。也就是说,如果这样:
git branch --merged | egrep -v "(^\*|master|dev)"
不产生输出,然后xargs
将运行:
git branch -d
如果您要在命令行上自己尝试,则会产生:
fatal: branch name required
最简单的解决方案是将--no-run-if-empty
标志添加到xargs
:
git branch --merged |
egrep -v "(^\*|master|dev)" |
xargs --no-run-if-empty git branch -d