我确定这个问题没什么帮助。
所以我有dev
和uat
个分支。 uat
本身曾经从dev
创建。前段时间我需要添加一个补丁,所以我创建了另一个名为connection-timeout
的分支。但只有经过大量工作并在该分支上提交并将其合并到uat
后,才意识到我是从uat
而不是dev
分支创建的。现在我想将它(connection-timout分支)合并到dev
,但我想避免来自uat
的提交。是否可以使connection-timout
分支基于dev
?
答案 0 :(得分:3)
您需要在git rebase
上connection-timeout
dev
分行。
现在您的图表可能如下所示:
dev * - - * - - * - - * - - *
\
uat \- * - - * - - * - - *
\
connection-timeout \ - * - - * - - *
如果您执行以下操作:
git checkout connection-timeout
git rebase dev
你最终会得到这个:
connection-timeout / - * - - * - - *
/
dev * - - * - - * - - * - - *
\
uat \- * - - * - - * - - *
然后,您可以将uat
重置为合并前的状态。
注意:如果您已将connection-timeout
推送到遥控器,则必须使用
git push --force
正在重写历史。如果其他人在这个分支上工作,这可能会导致问题,因为他们的历史记录现在将与遥控器不一致。