假设我有两个git分支develop
和feature
。
功能分支从开发分支出来。
进行更改后,这些更改将基于develop
并最终被推送到遥控器。
当某个开发人员将我/她的更改直接推送到远程(develop)之前,即将我的本地基础开发分支推送到远程,什么是正确(推荐)的方式将已推送的更改反映到我的本地分支,然后推?
例如
1.检出develop
到本地
2.创建分支feature
并进行两次提交commit-C
和commit-D
3.将提交重新部署到develop
上,并即将推送到远程
develop(remote) commit-A -> commit-B -> commit-X
develop(local) commit-A -> commit-B -> commit-C -> commit-D
feature(local) commit-A -> commit-B -> commit-C -> commit-D
答案 0 :(得分:2)
如果我了解您要寻找的内容,那么您想要进入一种看起来像这样的状态:
develop(local) commit-A -> commit-B -> Commit-X -> commit-C -> commit-D
在本地git pull --rebase
上,您应该可以使用develop
来实现这一目标。
答案 1 :(得分:2)
您的推送将失败,因为commit-X阻止了远程开发分支上的快进。因此,没有覆盖远程提交的风险(除非您使用-f
或--force
)
如果推送失败,您可以简单地重新设置基准:
git rebase origin/develop
或者如果您当地的分支机构也正在开发:
git pull --rebase