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

如何拉取远程main分支最新变更并同步至本地test分支

没问题,这是日常协作开发里超常见的场景,我一步步给你捋清楚操作流程:

第一步:拉取远程main的最新变更到本地main分支

首先得确保你的本地main分支是最新的,操作很简单:

  • 先切换到本地main分支:
    git checkout main
    (如果你用的是Git 2.23及以上版本,用git switch main会更直观,语义更清晰)
  • 拉取远程仓库的最新变更:
    git pull origin main
    这个命令其实是git fetch origin(拉取远程所有分支的最新信息)加上git merge origin/main(把远程main的变更合并到本地main)的组合操作,新手直接用pull就够了。要是你想更严谨,分开执行这两个命令也完全没问题。
第二步:把main的最新变更同步到你的test分支

这里有两种常用的方法,你可以根据自己的需求选:

方式一:使用Merge(推荐新手,保留完整提交历史)

这种方式会在test分支上生成一个合并提交,能完整保留所有分支的提交记录,冲突处理也更直观:

  • 切换到你的test分支:
    git checkout test(或git switch test)
  • 将本地main的最新变更合并到test:
    git merge main
  • 如果遇到代码冲突,Git会提示你冲突的文件,打开这些文件解决冲突后,执行:
    git add .
    然后提交合并结果:
    git commit
  • 最后如果需要把更新后的test分支推送到远程仓库,执行:
    git push origin test

方式二:使用Rebase(让提交历史更整洁,适合个人开发分支)

如果你希望test分支的提交历史是一条线性的,没有多余的合并提交,可以用rebase:

  • 切换到test分支:
    git checkout test
  • 基于最新的main分支重新构建test的提交:
    git rebase main
  • 过程中如果遇到冲突,解决完冲突后,执行:
    git add .
    然后继续rebase:
    git rebase --continue
    重复这个过程直到所有冲突都解决完毕。
  • 注意:如果你的test分支已经推送到远程仓库过,rebase之后需要强制推送,但一定要确保只有你一个人在这个分支上开发,避免覆盖别人的工作。推荐用更安全的强制推送命令:
    git push origin test --force-with-lease

小提示

操作前最好先检查本地工作区有没有未提交的变更,用git status就能看。如果有未完成的工作,可以先用git stash把临时变更存起来,等操作完再用git stash pop恢复,这样能避免操作过程中出现意外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:49:05