Git同步Fork仓库实记&完整指南:以Firefly主题为例

561 字
3 分钟
Git同步Fork仓库实记&完整指南:以Firefly主题为例

场景#

我fork了 CuteLeaf/Firefly 仓库,原仓库有更新(比我的多9个提交,我的比原仓库多18个提交),想同步更新。

一、配置远程仓库(只需一次)#

Terminal window
# 查看当前远程仓库
git remote -v
# 添加原仓库为 upstream
git remote add upstream https://github.com/CuteLeaf/Firefly.git
# 验证
git remote -v
# 应该显示 origin(你的) 和 upstream(原仓库)

二、获取原仓库更新#

Terminal window
git fetch upstream

三、同步master分支(两种方法)#

方法A:使用 merge(推荐,最安全)#

Terminal window
git checkout master
git merge upstream/master
  • ✅ 保留完整合并历史
  • ✅ 适合公共分支
  • ❌ 会有合并提交记录

方法B:使用 rebase(历史更干净)#

Terminal window
git checkout master
git rebase upstream/master
  • ✅ 线性历史,没有多余合并记录
  • ✅ 适合个人分支
  • ❌ 会改变提交ID

四、解决冲突(如果出现)#

  1. 查看冲突文件
Terminal window
git status
  1. 解决冲突的三种方式
Terminal window
# 方式1:采用 upstream 版本
git checkout --theirs 冲突文件名
git add 冲突文件名
# 方式2:采用本地版本
git checkout --ours 冲突文件名
git add 冲突文件名
# 方式3:手动编辑
# 打开文件,删除 <<<<<<<、=======、>>>>>>> 标记
# 保留需要的代码
git add 冲突文件名
  1. 完成合并
Terminal window
git commit
# 或
git commit -m "Merge upstream/master: resolve conflicts"

五、推送到你的GitHub#

Terminal window
git push origin master

六、更新其他分支(如果有)#

Terminal window
git checkout 你的其他分支
git merge master
# 或
git rebase master
git push origin 你的其他分支

常用命令速查表#

操作命令
添加upstreamgit remote add upstream 仓库地址
获取更新git fetch upstream
合并更新git merge upstream/master
查看状态git status
查看历史git log --oneline --graph
取消合并git merge --abort
采用他人版本git checkout --theirs 文件名
采用自己版本git checkout --ours 文件名
标记已解决git add 文件名
推送更新git push origin master

注意事项#

  1. master分支建议用 merge,保留合并记录
  2. 个人特性分支可以用 rebase,历史更整洁
  3. 解决冲突时,看清楚代码再决定保留哪个版本
  4. 推送前先 git status 确认状态
  5. 以后想再次同步:git fetch upstreamgit merge upstream/mastergit push origin master

这样就完成了!以后原仓库再有更新,重复步骤二、三、五即可。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Git同步Fork仓库实记&完整指南:以Firefly主题为例
https://blog.youyer.top/posts/git/git-sync-fork-repository/
作者
友野
发布于
2026-03-19
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
友野
从涓流到江河,从爝火到燎野。记录种种痕迹,无论它来自晨露还是野火。
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
22
分类
9
标签
47
总字数
24,445
运行时长
0
最后活动
0 天前

目录