我读到一些关于如何进行git rebase的矛盾的东西,所以我想问:
- 背景**
- 我有一个带有分支主服务器的远程存储库
- 我有一个本地版本的repo,并创建了一个分支来完成我的工作
- 我推送分支并创建合并审核
稍后
- 有人改进了仓库,现在origin/master前面有一些提交
"我所做的"
- 我把
git fetch origin master
大师带来了 git checkout master
git merge origin/master
git checkout myBranch
git rebase master
现在,我将myBranch基于新主节点进行了重定基,但发生了以下两件事
- 问题是**
1.本地存储库中还有分支origin/myBranch
1.我无法将myBranch推到repo(除非我强制执行)
因此,我不是在问我应该如何解决这个问题,我想问的是,将更改集成到远程myBranch的正确过程是什么,我所描述的做错了什么,强制推动是唯一的方法吗?
1条答案
按热度按时间uxh89sit1#
你没有做错任何事,正如你所知道的,rebase是把master的修改放到myBranch的顶部,但是要在远程分支中这样做,你必须使用
--force
,它基本上会删除你所有的提交并重新提交所有的修改。您的本地分支将用作remote/myBranch的主要源,这就是您必须将本地分支与远程myBranch同步的原因,因此需要
--force