删除所有远程分支,无需最近提交

时间:2015-11-02 12:23:49

标签: git git-flow

我在基于git-flow的环境中工作。 我们(和团队一起)决定不再删除远程分支机构一段时间。如何从远程中删除过去X天没有提交的所有功能分支。我猜它可能是一些oneliner?

根据:How can I get a list of git branches, ordered by most recent commit?我可以按最后提交日期排序分支。

在这里:How to clone all remote branches in Git?我可以克隆所有远程分支。

我可以避免拉动所有远程分支进行此类清理吗?

1 个答案:

答案 0 :(得分:1)

您可以避免拉动所有远程分支。

这将为您提供所有远程功能分支,按commiterdate排序,它将显示上次提交的日期,谁是提交者和分支的短名称。

git for-each-ref --sort=-committerdate refs/remotes/origin/feature --format='%(committerdate:short) %(authorname) %(refname:short)'

或者您可以显示相对于今天的committerdate

git for-each-ref --sort=-committerdate refs/remotes/origin/feature --format='%(committerdate:relative) %(authorname) %(refname:short)'

您所要做的就是选择要删除的分支并执行此操作。

git push origin :feature/newfeature

创建一个oneliner可能是可能的,但我认为用你喜欢的任何语言编写一个小脚本会更容易。