我怎样才能清理旧的git分支?

Mat*_*fer 1 git

首先,我发现了有关清理遥控器旧分支的其他问题.

我真正喜欢的是一个命令,它查找所有已合并且超过某个阈值(例如2周)的分支.然后删除该本地和远程分支.

有关如何做到这一点的任何想法?

Adr*_*ish 5

有趣的是看到其他人说 - 因为我不是一个git专家 - 但你确实有这些选择.

首先找一个两周大的提交

git log -n 1 --format="%h %aD" --until="@{2 weeks ago}"
b4f2ff3 Fri, 28 Oct 2011 08:36:56 -0600
Run Code Online (Sandbox Code Playgroud)

自提交以来显示未合并的分支

git branch --no-merged b4f2ff3
  foo
* master
  views_to_tables
Run Code Online (Sandbox Code Playgroud)

自提交以来显示合并的分支

git branch --merged b4f2ff3
  Hday.mt
  commod_stat
  commodity_stat_SP
  merged
  printscheman
  program_options
  release
  test
Run Code Online (Sandbox Code Playgroud)

删除本地分支

git branch -d <branchname>
Run Code Online (Sandbox Code Playgroud)

删除远程分支

git push origin :<branchname>
Run Code Online (Sandbox Code Playgroud)