收藏
回答

版本管理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 问题以及评论区),希望能够重视此问题。

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

回答关注问题邀请回答
收藏

4 个回答

  • TD
    TD
    2023-03-23

    你好楼主,今日我遇到该问题之后发现是微信小程序的问题,就搜索git的指令,发现:git push -u origin mfy -f //其中mfy是你的分支名,这个命令可用。原文:https://my.oschina.net/u/2391658/blog/744984

    2023-03-23
    有用 2
    回复 1
    • Ying
      Ying
      2023-08-24
      这个可以
      2023-08-24
      回复
  • Z-ying
    Z-ying
    2022-11-10

    前段时间也碰到这个问题。最开始和楼主操作一样,发现push不上去。

    解决方法:

    先查看一下本地head分支的提交记录是不是如下图这种浅灰色,如果在最新一次commit记录前有背景颜色不是浅灰色的提交记录,就容易出现楼主的那种情况。

    如果出现最新一次commit记录前有背景颜色不是浅灰色的提交记录,则回到第一条背景颜色不是浅灰色的提交记录,右键重置为那个版本,记得一定一定一定要勾选保存工作区内容。回到该版本后,pull远程分支合并到当前head分支,再将工作区的内容commit一次,commit完后再push,就可以成功更新远程分支。

    2022-11-10
    有用 1
    回复
  • 233号
    233号
    2023-05-24

    同遇到,楼上TD的方法可解决问题

    2023-05-24
    有用
    回复
  • Bombs_master
    Bombs_master
    2022-07-22

    遇到相同的问题,请问解决了吗?

    2022-07-22
    有用
    回复 1
    • TD
      TD
      2023-03-23
      你好楼主,今日我遇到该问题之后发现是微信小程序的问题,就搜索git的指令,发现:git push -u origin mfy -f //其中mfy是你的分支名,这个命令可用。原文:https://my.oschina.net/u/2391658/blog/744984
      2023-03-23
      1
      回复
登录 后发表内容