gpt4 book ai didi

git - Squash merge 后 rebase ?

转载 作者:IT王子 更新时间:2023-10-29 00:54:00 29 4
gpt4 key购买 nike

我有一个“主”分支和几个主题分支。假设 master 分支主要用作候选发布版本,并且该分支上没有任何开发工作。

主题分支有几个,由团队共享。一些分支机构有不止一名开发人员在处理它们。所有主题分支定期从 master 分支重新定位。

为了清理“master”分支中的历史记录,我在将代码从主题 merge 到 master 分支时执行了“git merge --squash”。这工作得很好。

现在 - 当主题分支 rebase 时 - 提交会重复。有没有办法在“git merge --squash”成功后清理主题分支上的提交?

最佳答案

假设您有以下场景:

A - B - C (master)
\
D - E (topic)

如果你使用 --squash 将 topic merge 到 master 中,你会得到类似的东西

A - B - C - F (master)
\
D - E (topic)

其中 F 包含来自 D 和 E 的所有更改。将主题 rebase 到 master 是没有意义的,因为主题分支已经在 master 中(通过 F)。您可以将主题分支移动到 F,而不是 rebase ,例如

git checkout master
git branch -f topic F

产生:

A - B - C - F (master/topic)

你现在需要做的就是将移动的主题分支上推:

git push -f origin topic

关于git - Squash merge 后 rebase ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9920182/

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