gpt4 book ai didi

git - 批量删除已经 rebase 和 merge 的本地分支

转载 作者:太空狗 更新时间:2023-10-29 13:18:39 31 4
gpt4 key购买 nike

在我们的团队中,我们为主分支和开发分支保留仅快进 merge 策略,以防止 merge 提交 hell :

merge commit hell

一旦主题分支被 merge (或 rebase 然后 merge ),我不会删除它们,所以我最终得到了很多这样的分支。我可以删除一些:

git branch --merged

这只会向我显示那些在 merge 前没有重新设置基点的。还有一些,我可以清理它们。

我正在寻找一些策略、脚本或提示如何处理 rebase 的。必须有一个脚本可以在循环或其他东西中找到来自 master 中主题分支的所有提交。请分享 ;-)

谢谢

最佳答案

我想要一些非交互式的东西,可以概括为每个分支不止一次提交。需要注意的是,这尚未经过广泛测试,并且在运行此命令时可能比您对克隆状态所做的假设更多:

Rebase 所有可以干净地 rebase 的本地分支:

REBASE_TARGET=upstream/master
for branch in $(git for-each-ref --format="%(refname:lstrip=2)" refs/heads/); do
git rebase "$REBASE_TARGET" "$branch" || git rebase --abort
done

删除所有已 merge 的本地分支:

git branch --format="%(refname:lstrip=2)" --merged | xargs git branch -d

关于git - 批量删除已经 rebase 和 merge 的本地分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800387/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com