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