我正在清理我的存储库,我发现有很多分支是 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/