将“上游项目”的更新合并到“我的项目”上
631 字
3 分钟
将“上游项目”的更新合并到“我的项目”上
一、添加上游项目的本地分支索引
1、从名为 upstream的远程仓库拉取 master分支的最新信息到本地
git fetch upstream master此操作只会更新本地仓库的远程分支索引(如 upstream/master),不会自动修改你本地任何分支上的文件
2、使用 --force选项,强制创建一个名为 master-upstream的新本地分支(如果已存在则重置),并让其指向 upstream/master所对应的提交
git branch --force master-upstream upstream/master这个分支相当于当前上游 master分支状态的一个快照。
3、列出所有名称匹配 master-upstream的分支
git branch --list master-upstream4、显示 master-upstream分支最近的10条提交记录
git log --oneline master-upstream -n 10二、上游项目的更新
1、将上游仓库为upstream的最新提交记录拉到本地
git fetch upstream更新所有远程跟踪分支(包括 upstream/master),但不会改动任何本地分支的工作内容。
2、强制重置 master-upstream分支,使其指向 upstream/master最新的提交
git branch -f master-upstream upstream/master三、将更新合并到本地分支master
1、切换到master分支
git switch master2、将 master-upstream上的最新内容整合到 master分支
git merge master-upstream四、解决任何冲突,完成合并后提交并推送代码到master
git push origin master小贴士:如何优雅地处理合并冲突?
当你执行 git merge 看到提示 CONFLICT (content): Merge conflict in <file> 时,不要慌,按照这三步走:
- 找到“案发现场”
打开冲突的文件,你会看到 Git 自动标记的冲突区域:
<<<<<< HEAD这里是你本地 master 分支的代码(你改动的内容)======这里是上游 master-upstream 分支的代码(别人改动的内容)>>>>>> master-upstream- 进行“人工裁决”
- 保留一方: 删掉你不想要的那部分代码和所有的
<<<<====>>>>标记。 - 整合双方: 手动将两段代码逻辑合并在一起,然后删掉标记。
- VS Code 技巧: 如果你用 VS Code,代码上方会出现快捷按钮(Accept Current Change / Accept Incoming Change),点一下即可自动完成。
- 告诉 Git 冲突已搞定
修改并保存文件后,必须执行:
# 1. 将解决后的文件标记为已暂存git add <文件名>
# 2. 完成合并提交git commit -m "fix: 解决与上游分支的合并冲突"如果合并过程太乱,你想重头来过,可以执行 git merge —abort 瞬间回到合并前的干净状态,就像什么都没发生过一样。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
将“上游项目”的更新合并到“我的项目”上
https://blog.olinl.com/posts/merge-upstream-branches/ 相关文章 智能推荐
1
视频压缩指南
技术插曲与避坑 录个屏硬盘炸了?一个视频300G?教你把大文件压缩到100G以下
2
跳过登录弹框:实现 Basic Auth 自动授权
技术插曲与避坑 详解如何通过 URL 传参、Nginx 反向代理注入 Header 以及浏览器插件等方式,实现对 Basic Auth 认证站点的免密自动登录。
3
Nginx 使用 sub_filter 注入自定义 HTML 标签
服务与应用运维 通过 Nginx 的 ngx_http_sub_module 模块,在反向代理响应中注入自定义 JS、CSS 或 HTML 标签,适用于无法修改源码的第三方页面定制场景。
4
VSCode优化指南
技术插曲与避坑 在VSCode中优化开发环境,如何解决一些遇到的问题。
5
为了护住我那几块硬盘:我的 UPS 监控“三部曲
HomeLab 私有云 从 PVE 备注里的简陋脚本,到独立的 Node.js Web 监控页,记录一个 HomeLab 玩家的 UPS 监控进阶之路。
随机文章 随机推荐