Git 我可以将分支建立在与当前分支不同的分支上吗?

Git 我可以将分支建立在与当前分支不同的分支上吗?,git,merge,branch,Git,Merge,Branch,我相信这个问题没有多大帮助 所以我有dev和uat分支。uat本身曾经是从dev创建的。不久前,我需要添加一个补丁,所以我创建了另一个分支,名为连接超时。但只有在对该分支做了大量的工作和提交并将其合并到uat之后,我才意识到我是从uat而不是dev分支创建它的。现在我想将它(连接timout分支)合并到dev,但我想避免来自uat的提交。是否可以使连接超时分支基于dev?您将希望git-rebase您的连接超时分支位于dev 现在,您的图形可能如下所示: dev * - - * - - * -

我相信这个问题没有多大帮助


所以我有
dev
uat
分支。
uat
本身曾经是从
dev
创建的。不久前,我需要添加一个补丁,所以我创建了另一个分支,名为
连接超时
。但只有在对该分支做了大量的工作和提交并将其合并到
uat
之后,我才意识到我是从
uat
而不是
dev
分支创建它的。现在我想将它(连接timout分支)合并到
dev
,但我想避免来自
uat
的提交。是否可以使
连接超时
分支基于
dev

您将希望
git-rebase
您的
连接超时
分支位于
dev

现在,您的图形可能如下所示:

dev * - - * - - * - - * - - *
      \ 
uat    \- * - - * - - * - - *
                       \
connection-timeout      \ - * - - * - - *
如果您执行以下操作:

git checkout connection-timeout

git rebase dev
您将得到以下结果:

connection-timeout            / - * - - * - - *
                             /
dev * - - * - - * - - * - - *
      \ 
uat    \- * - - * - - * - - *
然后,您可以将uat重置为合并前的状态

注意:如果您已经将
连接超时
推到遥控器,则必须使用

git push --force 

因为你正在改写历史。如果其他人正在处理此分支,这可能会导致问题,因为他们的历史记录现在将与远程不一致。

是否要将UAT合并到开发中而不进行任何提交?不,我要将连接超时分支合并到开发中。谢谢。我照你的建议做了。