fork别人的项目保持与源项目同步更新的两种方式
程序员文章站
2022-04-19 19:33:13
...
fork别人的项目保持与源项目同步更新的两种方式
一、需求场景
我们经常使用别人的一些开源项目,并在此基础上进行自己的进一步开发。常用的就是fork别人的代码到本地,然后继续开发后再提交到自己的git仓库中。这样就会产生一个问题,就是别人的代码更新后,我们无法同步更新被人的代码。本文主要用两种方式来保证自己本地的代码和别人的代码同步。
二、解决方案
1. 使用git的upstream方式
此处我们以在Github上开源的microsoft/terminal 这个项目为例进行实操
- 打开该项目在Github上的地址microsoft/terminal
- 登录自己的Github账号
- 点击fork, fork该项目到个人的仓库中
- fork成功后跳转到个人仓库中,可以看到如图红色标注所示,表明该项目是自己fork而来
- 克隆该项目到本地pc,然后打开该项目
- 此处为了方便大家参考,接下来的操作我们直接使用git命令
使用git 命令查看当前的remote信息
git remote -v
- 关键的操作来了,接下来我们添加源码的原仓库,作为我们本git仓库的上游,
git remote add upstream https://github.com/microsoft/terminal.git
- 添加完成后再次查看remote 信息,会显示如下:
- 获取源仓库的最新代码
- 例如源代码的master分支有更新,我们要合并到我们本地的代码分支上只需要执行如下操作
git merge upstream/master
- 执行完成后,就会发现本地代码已经更新到最新,如果有冲突需要我们解决冲突,解决完成后,执行
git push origin
- 每次源代码有更新都只需要重复第7–11步即可。
2. 使用git的分支方式来解决
- 前面的步骤都参考第一种方式1-6步
- 我们添加远程分支的模式来进行代码的合并,
git remote add microsoft https://github.com/microsoft/terminal.git
- 上述操作中的分支别名mircosoft可以随便去,易于辨识即可
- fetch分支代码,并进行合并
git fetch microsoft
git merge microsoft/master
- 执行完成后,就会发现本地代码已经更新到最新,如果有冲突需要我们解决冲突,解决完成后,执行
git push origin
每次源代码有更新都只需要重复第4步即可。
三、总结
git 毕竟出自大师之手,我们开发过程中遇到的常见场景和痛点,他基本都考虑到了,有啥问题仔细阅读官方文档,绝对有意想不到的惊喜。既然选择了Git这个神器,就要用“偷懒”的思维去思考开发和团队协作过程中遇到的问题。寻求最高效,可靠的解决方案。
上一篇: CSS瀑布流式布局
下一篇: Html 之使用CSS样式的方式