收藏
回答

版本管理push冲突后,手动修复冲突再push,依旧无法push

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 稳定版 Stable Build (1.05.2204250 | 1.06.2204250)

在使用微信开发者工具中的版本管理过程中,出现如下问题:

我在本地修改好文件之后,在版本管理中 暂存→提交→推送(push) 后,提示:

Push failed
Error:cannot push because a reference that you are trying to update on the remote contains commits that are not present

目前一切正常,报错是因为我在编辑本地文件的过程中,另一个人已经向远程仓库里提交了更新的commit。

然后,我选择拉取(pull),将远程仓库的最新状态合并到我的仓库,此时版本管理的工作区 识别到了 我所编辑的文件该文件的最新版本 有冲突(如下图)

随后,我在编辑器里手动解决冲突(解决方式:点击Accept Both Changes,如下图)

随后保存文件,在版本管理中 暂存该文件→提交→推送(push),推送失败,报错如下图:

Push failed
Error:cannot push non-fastforwardable reference You may try pull before you push.

提示我在 push(推送) 之前先 pull(拉取),可是根据我上述的操作得知我在本次push之前已经先pull过了。

按照报错提示,我再此进行拉取(pull),随后工作区再次识别到 我所编辑的文件该文件的最新版本 有冲突,但此时 我所编辑的文件 内容为我手动解决冲突后的内容(即上述操作中点击“Accept Both Changes”后的内容)。

解决完本次冲突之后,再按流程push,又提示和之前一样的报错:

Push failed
Error:cannot push non-fastforwardable reference You may try pull before you push.

按提示再次拉取(pull),工作区再次提示文件冲突,手动解决冲突后再次按流程推送(push),便再次出现如上报错,如此循环。

以上是全部bug描述部分。

除了发帖时最新稳定版 Stable Build (1.05.2204250 | 1.06.2204250)

我还尝试了最新开发版 Nightly Build (1.06.2205122)

依旧有此问题。

同样的操作流程,在VSCode上就不会如此循环无尽。

我已经尽全力把出错的过程给描述清晰了,请不要用一句“先拉取再推送”回复我。

在微信开放社区搜索此问题的时候,我注意到早在2018,2019年就有用户反馈,(见https://developers.weixin.qq.com/community/develop/doc/0004a8b04acd3092e8c79ab4a51400?_at=1591775772989 问题以及评论区),希望能够重视此问题。

当然,如果是因为我的操作有误导致的报错,我先在此道歉,也希望您能不吝赐教指出我的操作问题。

回答关注问题邀请回答
收藏
登录 后发表内容