赞
踩
说来可笑,一个人开发,git pull还会被rejected。记录下解决过程。
事情是这样的,主分支master稳定,要开发新功能,于是新建branch1。开发到差不多了,还在测试,但是master上有个小小bug需要改,于是新建新建分支,改bug,测试,差不了合并。这个时候branch1单独测试,想要一起修复这个bug,于是pull master,于是就被reject了。
https://blog.csdn.net/weixin_41287260/article/details/89742151,这篇博客对non-fast-forward解释挺有启发。从他这里了解到,master先分出branch1,然后master在修复bug之后push又向前走了,branch1在若干次push之后也向前走了。这两条路没有捷径合到一块,于是把master pull过来的时候就被拒绝了。
为了解决这个问题,可以把branch1合到master,这样,两条路有交点了,才有捷径可以把代码合并。但是branch1还没测完,不想影响master稳定性。于是,需要在两条路上接上一条路,使这两个分叉有一个交点。所以,新建一个分支master_copy,该分支从master上复制,然后把branch1合到master_copy上,这样master_copy既包含了bug修复代码,又有了branch1的功能。本地pull master_copy就不会被reject了,本地再push到branch1,则branch1就有了bug修复代码。
纯属愚见,大侠勿喷。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。