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

GitHub提交疑问:他人远程提交内容是否会被覆盖?如何合并双方修改

问题解答

直接提交的后果

如果你直接执行git push,大概率会被Git拒绝——因为远程仓库的提交历史和你的本地已经分叉。但要是强行用git push --force,远程仓库里他人的提交会被你的代码完全覆盖,直接导致别人的工作丢失,绝对不能这么操作。

合并双方修改的正确步骤

要保留彼此的修改,得先把远程最新代码同步到本地,处理完可能的冲突后再推送:

  1. 暂存本地未提交的修改
    如果你的本地修改还没提交,先把它们临时存起来:

    git stash
    

    后续可以用git stash pop恢复这些修改。

  2. 拉取远程最新代码
    切换到你的工作分支(比如main),拉取远程的最新提交:

    git checkout main
    git pull origin main
    

    git pull会自动把远程代码合并到本地分支,没有冲突的话这一步就完成了基础合并。

  3. 恢复本地修改并处理冲突
    用下面的命令恢复之前暂存的本地修改:

    git stash pop
    

    如果Git提示文件冲突,打开冲突文件,找到<<<<<<<、=======、>>>>>>>标记的部分,手动调整代码,保留双方需要的内容。

  4. 提交合并后的代码
    解决完冲突后,暂存修改并提交:

    git add .
    git commit -m "合并远程更新与本地修改"
    
  5. 推送到远程仓库
    最后把合并好的代码推送到远程:

    git push origin main
    

如果你偏好更整洁的提交历史,也可以用rebase方式拉取:

git pull --rebase origin main

这会把你的本地提交放到远程最新提交的后方,同样需要处理可能的冲突,之后再推送即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:42:01