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

合并两个本地Git仓库的正确操作流程咨询

合并两个独立本地Git仓库修改的最优方法

根据你的场景(两处无冲突的独立修改、偏好rebase保持线性提交历史),分两种常见场景给出操作步骤:

场景1:已有公共远程仓库(推荐方案)

如果有公共远程仓库(如GitHub/GitLab),操作更规范且便于后续同步:

  1. 在第一台电脑(如电脑A)的本地仓库中,提交并推送修改:
    git add .
    git commit -m "feat: 完成电脑A端的XX修改"
    git push origin main  # 替换为你的目标分支名
    
  2. 在第二台电脑(如电脑B)的本地仓库中,拉取远程最新代码并rebase本地提交:
    git checkout main
    git pull --rebase origin main
    
    这一步会把电脑B的本地提交,放到远程仓库(已包含电脑A修改)的最新提交之后,自动生成线性提交历史。
  3. 确认无冲突后,推送到远程仓库:
    git push origin main
    

场景2:无公共远程仓库(本地直接合并)

如果没有远程仓库,可将其中一个仓库作为临时远程源来合并:

  1. 选择其中一个仓库作为目标仓库(比如电脑A的仓库),在另一个仓库(电脑B)中添加电脑A仓库为临时远程:
    # 替换为电脑A仓库的本地绝对路径,Windows示例:D:\code\my-project,Linux/macOS示例:/home/user/my-project
    git remote add temp-local-repo /path/to/computer-a-repo
    
  2. 拉取电脑A仓库的最新代码:
    git fetch temp-local-repo
    
  3. 用rebase将电脑B的提交合并到电脑A的提交之后:
    git checkout main
    git rebase temp-local-repo/main
    
    若提示冲突,解决冲突后执行git add .,再运行git rebase --continue完成合并。
  4. 将合并后的代码同步回电脑A仓库:
    在电脑A的仓库中,添加电脑B仓库为临时远程,拉取合并后的代码:
    git remote add temp-local-repo-b /path/to/computer-b-repo
    git pull --rebase temp-local-repo-b main
    
  5. 清理临时远程源(可选):
    在电脑B仓库执行git remote remove temp-local-repo,电脑A仓库执行git remote remove temp-local-repo-b

关键注意事项

  • 操作前务必备份两个仓库,避免意外丢失修改
  • rebase会改写提交历史,适合个人开发或无协作的场景;若涉及多人协作,需确保团队认可rebase的使用规范
  • 若实际出现冲突,解决后需确保代码功能正常,再继续rebase流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:15:45