Scratch3.0——克隆代码的正确姿势

https://blog.csdn.net/weiwoyonzhe/article/details/86603450

对Scratch3.0进行二次开发,首先要在github上fock官方代码,但是在自己开发的同时又要跟进官方的代码就要在git做如下配置。

步骤:

1、配置上游项目地址。即将你 fork 的项目的地址给配置到自己的项目上。使用以下命令来配置。

➜ git remote add upstream https://github.com/LLK/scratch-gui.git

然后可以查看一下配置状况,很好,上游项目的地址已经被加进来了。

➜ git remote -v
origin https://github.com/***/scratch-gui.git (fetch)
origin  https://github.com/***/scratch-gui.git (push)
upstream        https://github.com/LLK/scratch-gui.git (fetch)
upstream        https://github.com/LLK/scratch-gui.git (push)

2、获取上游(官方)项目更新。使用 fetch 命令更新,fetch 后会被存储在一个本地分支 upstream/master 上。如果长时间没有更新,可能会非常慢,一定要在网络环境好的情况下更新或从GitHub下载代码。

➜ git fetch upstream

3、合并到本地分支。切换到 master 分支,合并 upstream/master 分支。

➜ git merge upstream/master 

如果提示: fatal: refusing to merge unrelated histories,这是因为本地和远端已经是两个独立的版本库,git认为是不相干的版本库。

➜ git merge upstream/master --allow-unrelated-histories

4、合并冲突。因为是在原先代码的基础上二次开发,冲突不可避免,而最费时间的也是这里解决冲突这一步。

5、提交推送。根据自己情况提交推送自己项目的代码。

➜ git push origin master

由于项目已经配置了上游项目的地址,所以如果 fork 的项目再次更新,重复步骤 2、3、4即可。

留几个问题供大家思考交流:

  1. 冲突在所难免,在开发中注意什么可以更快更高效的解决冲突合并代码?
  2. 如果官方代码重构了某部分模块,你的代码严重依赖该模块该如何处理?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,457评论 2 8
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,936评论 5 147
  • 也许,在你生命中的某一时段,你迷茫不安,却靠着一句鸡汤文撑着走了好久。 也许,在那些艰难的日子里,无人理解,却被一...
    还拥有作家的笔阅读 374评论 1 4
  • 我就开门见山直奔主题吧这是一本日志,可不是什么日记我知道这个本子封面上印着什么,但我妈出门买本子的时候,我可是千叮...
    吹_9975阅读 200评论 0 0
  • 有的人生活在无忧无虑的环境中,有的人生活在只有自己动手才能填饱肚子的生活。然而,有一句话老话的特别好“穷人家的孩子...
    TCAIT阅读 290评论 0 0