2
回答
衍合(rebase)主分支到一个分支(不改变主分支)咨询
华为云实践训练营,热门技术免费实践!>>>   

先只有一个master主分支,在其基础上创建了一个refactor分支,并进行了几次提交,同时master也进行几次提交。现在想将最新的master内容rebase到refactor分支中,而master不变。根据官方文档说明


git rebase [主分支] [特性分支]

执行如下命令:

git rebase refactor master

(我认为此时master属于特性分支,refactor属于主分支)

结果大为意外,发现其和git rebase master refactor没有区别。即master变化了,衍合进了refactor分支的代码。与初衷不符。

似乎要想实现此功能的话,只能在最新master基础上再创建一个临时分支,如master-copy,再执行如下命令:git rebase refactor master-copy

然后删除master-copy分支即可。但删除时报错提示如下:

error: 分支 'master-copy' 没有完全合并。
如果您确认要删除它,执行 'git branch -D master-copy'。


不知何故?

难道想将最新的主分支(master)衍合到一个分支中同时又不改变主分支只能通过这种方式来实现吗?

有更方便的方法吗?





Git
举报
zgw06629
发帖于3年前 2回/870阅
共有2个答案 最后回答: 3年前
将最新的主分支(master)衍合到一个分支中同时又不改变主分支
假如当前在test_branch上,想合并master上的更新,直接git rebase master,就可以了。master不会改变。

引用来自“YueZheng”的评论

将最新的主分支(master)衍合到一个分支中同时又不改变主分支
假如当前在test_branch上,想合并master上的更新,直接git rebase master,就可以了。master不会改变。

谢谢!

之前弄反了,在maser主分支中执行git rebase test,结果两边都一样。

--- 共有 1 条评论 ---
YueZheng我刚开始使用git时,跟你理解的一样。也是在master分支上rebase另外的分支,可能git的设计真是有问题。:) 3年前 回复
顶部