首页 > 解决方案 > 如何删除 1 个月以前在 git 中以编程方式合并到 master 的分支?

问题描述

是否有能够以编程方式删除超过 1 个月的分支并一次性合并到主分支的命令?

标签: git

解决方案


建立在@LazarNikolic 共享的答案之上(删除所有超过 X 天/周的分支):

for k in $(git branch --merged master | sed /\*/d); do 
  if [ -n "$(git log -1 --before='1 month ago' -s $k)" ]; then
    git branch -D $k
  fi
done

一些背景:

  • git branch --merged master仅列出已合并到的分支master
  • git log --before检查超过 1 个月的日志条目。如果存在任何条目,对于任何合并的分支,请删除该分支。

推荐阅读