git branch -r --merged | grep 123
输出
起源/特征/123-一些特征
git branch -r --merged | grep 123 | xargs git branch -d
输出错误:找不到分支“origin/feature/123-some-feature”。
为什么我无法删除这个远程分支?
编辑: 抱歉,我最初的帖子应该更清楚(我写这篇文章时我正在开会)。我本地没有任何这些分支,我正在尝试清理远程存储库以删除所有合并的分支(我现在通过过滤为“123”来测试它)。
我想获得已合并的远程分支的过滤(通过 grep)列表,以便我可以在本地查看它们,以确保我不会删除任何我想保留的分支。
然后我想再次执行它,| xargs git branch -d以实际从远程存储库中删除这些分支。
根据发布的答案和评论之一,我认为这就是我想要的?
git branch -r --merged | grep 123 | xargs git push origin --delete
您无法删除它,因为它是远程分支。它存在于远程存储库中,而不是本地存储库中。如果您想在远程删除它,您可以:
git push --delete origin feature/123-some-feature
Run Code Online (Sandbox Code Playgroud)
但请注意,这将影响远程存储库上分支的可用性。