删除所有没有最近提交的远程分支



我在基于git流的环境中工作。我们(和团队)决定在一段时间内不删除远程分支。如何从远程删除过去X天内没有提交的所有功能分支。我想可能是一句俏皮话?

根据:如何获得按最近提交顺序排列的git分支列表?我可以按上次提交日期对分支进行排序。

这里:如何在Git中克隆所有远程分支?我可以克隆所有远程分支。

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

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

这将为您提供所有远程功能分支,按commiterdate排序,并显示最后一次提交的日期、提交人和分支的简称。

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

或者你可以显示相对于今天的提交日期

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

你所要做的就是选择你想删除的分支并这样做。

git push origin :feature/newfeature

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

最新更新