Eri*_*ert 1 git branch pruning git-branch
我正在尝试删除所有合并的分支.我一直都在用
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
但由于某种原因,它不再适用,即使我之前使用过这个命令.它返回错误"致命:需要分支名称"
如果没有提供输入stdin
- 例如,如果前面的管道没有产生输出 - xargs
将运行没有参数的命令.也就是说,如果这样:
git branch --merged | egrep -v "(^\*|master|dev)"
Run Code Online (Sandbox Code Playgroud)
不产生输出,然后xargs
将运行:
git branch -d
Run Code Online (Sandbox Code Playgroud)
如果您在命令行上尝试自己,那么会产生:
fatal: branch name required
Run Code Online (Sandbox Code Playgroud)
最简单的解决方案是将--no-run-if-empty
标志添加到xargs
:
git branch --merged |
egrep -v "(^\*|master|dev)" |
xargs --no-run-if-empty git branch -d
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
874 次 |
最近记录: |