删除git中的合并分支

时间:2018-05-31 17:07:20

标签: bash git

基于https://stackoverflow.com/a/227026/117421

我想出以下是否有任何错误?

想法是在git中找到并删除旧分支。

perms = itertools.permutations(inputstring) for i, perm in enumerate(perms, 1): word = "".join(perm) print("%s is word #%d" % (word, i)) 为您提供已合并为master的所有远程分支。但是它默认包含master本身并且似乎包含HEAD - >起源/主人。

查找合并为主的所有分支,不包括master和HEAD

git branch -r --merged origin/master排除了这两个条目。

这对于在bash中进行循环来说是微不足道的。

git branch -r --merged origin/master | grep -v origin/master

但是,这会列出包含来源的分支名称,这是for remotebranch in $(git branch -r --merged origin/master | grep -v origin/master); do echo $remotebranch done 的错误格式

这可以通过用空字符串替换push --delete来解决。

删除来源/前缀

origin/

所以我认为以下可能会运行,是否正确,或者有更好的方法吗?

最终解决方案

for remotebranch in $(git branch -r --merged origin/master | grep -v origin/master | sed 's/origin\///g'); do
echo $remotebranch
done

最后你总能跑步 for remotebranch in $(git branch -r --merged origin/master \ | grep -v origin/master \ | sed 's/origin\///g'); do git push origin --delete $remotebranch done

0 个答案:

没有答案