【发布时间】:2018-04-05 12:06:35
【问题描述】:
我的“远程”服务器上有很多 GIT 分支。
- 如何删除所有超过 1 年的分支(不只是合并)?
- 如何删除所有超过 5 个月的合并分支(多个来源“master/develop”)?
这个答案非常好,但它并没有让我一直到那里。 How can I delete all Git branches which have been merged?
能否请您包含合并中的主/开发分支?如何为此添加时间间隔?
git branch -r --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin
【问题讨论】:
-
我知道这并不能完全回答你的问题,但是如果分支的数量不是太多的话,GitHub 有一个方便的工具来完成这类工作。不过,据我所知,您必须手动输入网址:github.com/cyborgx37/sandbox/branches
-
Git 不会将分支创建日期存储为信息。您可以查找的是 1 年前最后一次提交的分支。为此,您可以尝试使用 git for-each-ref 命令:git-scm.com/docs/git-for-each-ref
-
我同意@frennky。另外,“超过 1 年”是什么意思?最近的提交超过 1 年?第一次提交超过 1 岁? (“第一次提交”的概念在 git 中有点模糊,可能并不明显,具体取决于您的历史记录。)
标签: git github version-control branch feature-branch