我正在阅读关于
现在,我想将
我的疑问是,如果我对
请问我的理解/担忧是否有误?
git rebase
的内容,浏览了git-scm文档。我有一个具体的问题,关于使用onto
功能将分支rebase到其祖先(就像上面链接中的情况)。假设我们有以下分支/提交结构:C1 <- C2 <- C5 <- C6 [master]
<- C3 <- C4 <- C10 [server]
<- C8 <- C9 [client]
现在,我想将
client
分支合并到master
分支。我切换到了client
分支并运行了git rebase --onto master server client
命令。运行该命令后,我得到的结果结构是(在将master
合并和快进到client
之后):C1 <- C2 <- C5 <- C6 <- C8' <- C9' [master, client]
<- C3 <- C4 <- C10 [server]
我的疑问是,如果我对
client
分支的更改取决于server
分支中的C3提交,那么在这种情况下,在合并操作后master
分支中的代码肯定会失败。据我所知,实际结果(在将主分支快进到客户端之后合并)不应该像这样: C1 <- C2 <- C5 <- C6 <- C3' <- C8' <- C9' [master, client]
<- C4 <- C10 [server]
请问我的理解/担忧是否有误?
master
应该是client
。server
改变呢?毕竟你只是在重新定位client
。(client)$ git rebase --onto master HEAD~1
时,我得到了无法合并更改。在0001处补丁失败
和更多的错误输出,导致rebase停止。 - Andrew C