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

Git如何拉取其他repo最新变更同时保留本地已有修改

操作步骤

1. 首次操作先配置上游生产仓库

先查看当前已关联的远程仓库:
git remote -v
如果输出中没有指向生产repo的upstream源,执行添加命令:
git remote add upstream <生产repo的实际访问地址>

2. 拉取生产repo的最新提交

执行命令拉取上游生产仓库的所有最新提交到本地缓存,该操作不会修改你当前的工作区内容:
git fetch upstream

3. 切换到你做了自定义修改的测试分支

比如你修改的是默认main分支,执行:
git checkout main
如果是其他自定义开发分支,替换为对应的分支名即可。

4. 合并生产更新到本地测试分支

可根据你的使用场景二选一:

  • 合并模式(推荐多人协作的测试分支使用,会保留完整提交历史)
    执行命令将上游生产的最新内容合并到当前分支,自动保留你已有的修改:
    git merge upstream/main
    若出现代码冲突,手动编辑冲突文件解决冲突后,执行git add <冲突文件路径>,再执行git commit即可完成合并。
  • 变基模式(推荐个人独占的测试分支使用,提交历史更整洁无冗余合并记录)
    执行命令将你本地的所有修改提交移到上游最新提交的后面:
    git rebase upstream/main
    若出现代码冲突,手动解决后执行git add <冲突文件路径>,再执行git rebase --continue直到变基流程完成。

5. 推送到远程测试repo

本地同步完成后,执行推送命令更新你的远程测试repo:
git push origin <你的测试分支名>
注意:如果使用了变基模式,推送时需要添加-f参数强制推送,仅在你确认该测试分支没有其他人同时提交时使用该参数

注意事项
  • 操作前建议先将本地未提交的临时修改执行git stash暂存,或直接提交到本地分支,避免操作过程中丢失改动。
  • 若对操作结果不确定,可先从当前测试分支切出一个临时分支做同步测试,验证没问题后再合并回正式测试分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:54:03