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

如何同步克隆仓库与原远程仓库?提PR前同步及git pull是否为rebase疑问

Git协作与PR准备实操指南

一、确认你的仓库与Bob的原仓库是否同步

  1. 先确保已添加原仓库为远程源(如果还没加):
    git remote add upstream <Bob的仓库Git地址>
    
  2. 拉取原仓库的最新远程分支信息:
    git fetch upstream
    
  3. 对比本地分支与原仓库对应分支的差异:
    • 直接查看代码差异:
      git diff 你的本地分支名 upstream/目标分支名
      
      无输出则完全同步,有输出则存在差异。
    • 查看原仓库比你多的提交记录:
      git log --oneline 你的本地分支名..upstream/目标分支名
      
      有输出说明原仓库有你未同步的提交。

二、提交PR前同步原仓库最新版本

推荐用rebase保持提交记录整洁,步骤如下:

  1. 切换到你的工作分支:
    git checkout 你的工作分支名
    
  2. 基于原仓库最新代码做rebase:
    git rebase upstream/目标分支名
    
    • 如果遇到冲突,手动解决文件中的冲突标记,然后执行:
      git add 冲突文件名
      git rebase --continue
      
      重复直到rebase完成。
  3. 将同步后的分支推送到你的fork仓库:
    git push origin 你的工作分支名
    
    • 如果rebase后本地分支历史和远程fork的分支历史不一致,需要用安全的强制推送:
      git push origin 你的工作分支名 --force-with-lease
      
    (如果偏好合并提交而非rebase,也可以用git merge upstream/目标分支名替代rebase步骤,但会多一条合并提交记录)

三、关于git pull的本质

  • 默认情况下,git pull等价于git fetch + git merge,不属于rebase操作。
  • 如果想让git pull默认使用rebase模式,可以全局配置:
    git config --global pull.rebase true
    
  • 也可以单次执行rebase模式的pull:
    git pull --rebase
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:00:58