版本管理push冲突后,手动修复冲突再push,依旧无法push
在使用微信开发者工具中的版本管理过程中,出现如下问题: 我在本地修改好文件之后,在版本管理中 暂存→提交→推送(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 问题以及评论区),希望能够重视此问题。 当然,如果是因为我的操作有误导致的报错,我先在此道歉,也希望您能不吝赐教指出我的操作问题。