Git 如何更新我的功能分支提交,使其位于更新的主分支之上?
大约一个月前我创建了一个分支。从那时起,主分支已进行了大量更新,而功能分支不包括这些更新。我希望我的提交位于更新的主分支之上,我只希望发布我的提交。我如何做到这一点(或者这是否可能) 更多信息: 我的本地分支提交已推送到远程分支,但未推送到主分支 我尝试了Git 如何更新我的功能分支提交,使其位于更新的主分支之上?,git,git-merge,rebase,git-rebase,Git,Git Merge,Rebase,Git Rebase,大约一个月前我创建了一个分支。从那时起,主分支已进行了大量更新,而功能分支不包括这些更新。我希望我的提交位于更新的主分支之上,我只希望发布我的提交。我如何做到这一点(或者这是否可能) 更多信息: 我的本地分支提交已推送到远程分支,但未推送到主分支 我尝试了git-rebase,但随后我收到一条消息,说我的分支已经分叉,“并且分别有X和Y个不同的提交。” 我不确定git push-f是否能解决我的问题。我不希望我的远程分支记录在主分支上所做的更改。我只希望我的远程/本地分支“位于最新版本的mast
git-rebase
,但随后我收到一条消息,说我的分支已经分叉,“并且分别有X和Y个不同的提交。”
我不确定git push-f是否能解决我的问题。我不希望我的远程分支记录在主分支上所做的更改。我只希望我的远程/本地分支“位于最新版本的master之上”,并且仍然只显示我的提交
我不想将master“合并”到我的分支中,因为1000多个提交将使我的提交黯然失色,我只希望我的提交能够被我的同行轻松审查。根据您的描述,我非常确定
git rebase
和git push-f
是您想要的。rebase
命令在更新的master
分支上重放更改。这张照片(来自)很好地反映了发生的情况:
重定基址后,您会收到“have X and Y different commits each”消息,因为重定基址会导致一系列新的提交,因此本地分支的历史记录不再与远程分支的历史记录匹配
如果您没有与其他人共享您的功能分支,那么使用git push-f
不会有问题。这将简单地重写远程功能分支以匹配本地功能分支
如果其他人签出了他们的功能分支,他们将需要重新同步他们的本地工作副本,可能需要运行
git fetch
,然后执行git reset--hard your/feature/branch
这就是我用Master重新设置分支“davesBranch”基础的方法
“新主分支”实际上是指一个新分支,还是说主分支有功能分支没有的更新?我的意思是主分支已经进行了大量更新,而功能分支没有。我更新了你问题的措辞以反映这一点。我认为,如果将更改引入到功能分支中,没有一种好的方法可以从主分支隐藏这些更改,但是您应该能够在日志中只显示您的更改。看看有什么方法可以做到这一点。