You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何历史commits被重复推送到新分支?VSCode推送问题咨询

Git提交相关问题解析

分支B包含分支A历史提交的原因

  • Git分支本质是指向特定提交的轻量指针,当你从分支A创建分支B时,B的起始点就是A当时的最新提交,因此会自动继承A的全部历史提交。
  • 推送分支B到远程仓库时,Git必须推送完整的提交链(否则远程无法还原分支的完整历史),所以A的历史提交会被一并推送到远程的B分支下,这是Git的正常工作机制,并非异常。

GitHub网页修改后VSCode推送重复历史提交的原因

  • 最常见的原因是本地与远程提交历史分叉:你在GitHub网页直接修改内容后,远程分支会生成新的提交,但本地仓库仍停留在修改前的状态,两者的提交历史不再对齐。
  • 若此时未先拉取远程最新提交就直接推送,VSCode可能触发了强制推送(比如你勾选了相关选项),或是Git在处理冲突时用本地历史覆盖了远程历史,导致远程仓库重新展示本地的全部历史提交,看起来像是重复推送。
  • 另一种可能是本地分支与远程分支的跟踪关系异常,比如本地分支未正确关联对应远程分支,导致Git无法识别已推送的历史记录,进而重复推送。

内容的提问来源于stack exchange,提问作者Yuxuan Zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:52:11