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

如何用本地Git仓库替换远程仓库内容且保留双方提交历史?

合并本地仓库到远程GitHub仓库,保留远程历史、Issues和Wiki

操作步骤

  1. 克隆远程仓库到本地
    先把远程GitHub仓库完整克隆到本地新目录,确保获取到所有历史记录:

    git clone git@github.com:你的用户名/远程仓库名.git
    cd 远程仓库名
    
  2. 添加本地仓库为远程源
    将你的本地仓库作为当前克隆仓库的一个远程源(命名为local-repo):

    git remote add local-repo /本地仓库的绝对路径
    
  3. 合并本地仓库的提交历史
    拉取本地仓库的所有提交,合并到当前主分支(假设主分支为main,如果是master请替换),由于本地提交时间均晚于远程最新提交,不会出现冲突:

    git pull local-repo main --allow-unrelated-histories
    
  4. 验证合并结果
    查看提交历史,确认远程历史在前,本地提交依次追加在后,且最终文件内容与本地仓库完全一致:

    git log --oneline
    
  5. 推送到远程GitHub仓库
    将合并后的历史推送到远程仓库,覆盖原主分支:

    git push origin main
    

关键说明

  • Issues和Wiki是GitHub平台的独立功能,Git的提交历史操作不会对它们产生影响,会自动保留原样。
  • 操作前建议备份:可在GitHub上给远程仓库创建备份分支,或直接导出仓库;同时备份本地仓库,避免意外数据丢失。
  • 如果远程或本地使用的不是main分支,将命令中的分支名替换为实际分支名称即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:07:36