git - 如何获取自去年以来没有创建 pull 请求的分支列表?

标签 git git-branch

我正在清理我的存储库,我发现有很多分支是 2 年前创建的,并且没有创建任何 merge 到 master 的 merge 请求就离开了。这些分支可以安全删除。但我需要手动找到那些分支, 有什么方法可以使用命令行获取这些分支的列表吗?

最佳答案

正如@Eskapp 提到的,您可以列出 merge 分支,然后删除它们:

git branch -d branch1 branch2 branch3 ... # For local branches 
git push origin :branch1 :branch2 :branch3 ... # for the remote ones, note the ":" before the branch names used to delete them, cf "man git-push"

然后,剩下的就必须通过混合命令手动完成。我会做以下事情:

  • git log --oneline | grep branchname 查找 merge 提交(类似于“将 branchName merge 到 master 中”的消息,以防某些分支已重新定位。确保所有提交都可以在 master 中找到(基于它们的消息)
  • 检查剩余的 pull 请求并与分支列表交叉引用以查看哪些链接到 pull 请求(手动完成,或使用 github api)
  • 此外,如果您使用工单系统,并且您的分支机构名称中有工单编号,请查看工单,如果工单已关闭,则分支机构可能会被删除。

总的来说,这可能需要大量的手动工作,具体取决于第一次检查的结果,但这是值得的。它将允许您在未来继续保持干净的状态,在 merge 时删除分支。

关于git - 如何获取自去年以来没有创建 pull 请求的分支列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55599604/

相关文章:

php - 如何配置 Git 以忽略对行尾的更改?

git - 撤消 git merge (尚未推送)

git - 如何将 gitosis repo 符号链接(symbolic link)到另一个地方?

git - 我怎样才能找出在远程机器上 checkout 的分支?

git - 我的合作者的提交是如何进入我的分支的?

git - 在错误的分支中提交 2 次后该怎么办

git - 如何从 NetBeans IDE 8 和 Jenkins 重新连接到 GitLab 上的 git 存储库?

git - 如何删除 Git 树中 sha1 为空的条目

git - 如果远程跟踪引用不再存在,则删除本地 Git 分支

git - 如何让一个 git 分支成为新的主人?