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

Posted xbzhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. 如果官方代码重构了某部分模块,你的代码严重依赖该模块该如何处理?

 


以上是关于Scratch3.0——克隆代码仓库的正确姿势的主要内容,如果未能解决你的问题,请参考以下文章

git:IDEA与git(IDEA提交代码到本地仓库&远程仓库远程仓库克隆代码分支)

20180618_在githhub上创建远程仓库,再克隆远程仓库的代码

git 码云上关联仓库 克隆代码

Git 第八章 IDEA集成GitHub -- IDEA集成GitHub(推送代码到远程仓库 & 拉取代码到本地仓库 & 克隆远程仓库代码到本地)

如何使用GIT_1.把GitHub仓库克隆到本地并更新代码到GitHub

将项目(代码)从GitHub上克隆(下载)到本地仓库