我有三个分支:
Integration -> Staging -> Production
在我的本地计算机上,我具有设置集成分支,因此当我在本地更改任何内容时,我会将代码推送到集成中,然后将集成合并到暂存中,然后再暂存到生产中。这就是我遵循的过程。
现在我的问题是,两天前,我在集成中完成了3次提交,并且也仅将该提交合并到了阶段中。此阶段仍待合并到生产中。但是当我第二天到来时,我已经看到some other developer has directly push the code in production branch.
所以现在我需要将我的提交合并到生产分支中,还需要保留他们对开发的其他开发人员提交以及在其他分支上进行更新。 那么我该怎么做以及如何继续我以前使用的工作流程?
如果有人有想法,请分享。
答案 0 :(得分:0)
由于您已经由其他人在生产中完成了提交,因此您需要将登台转移到新的生产分支上。
也就是说,假设您还没有进行暂存。
i--i--i (int)
\
s--S (staging)
\
P--np (prod)
np是直接推送到产品的提交
git checkout staging
git fetch
git rebase --preserve-merge origin/prod
git push
也就是说:
i'--i'--i' (int)
\
s ---S' (staging)
\ /
P--np (prod)
如果尚未推送登台,则只需将其推回:它将基于最新的prod分支,包括直接推送到prod上的最新提交。