zoukankan      html  css  js  c++  java
  • 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. 如果官方代码重构了某部分模块,你的代码严重依赖该模块该如何处理?
  • 相关阅读:
    matplotlib数据可视化之柱形图
    xpath排坑记
    Leetcode 100. 相同的树
    Leetcode 173. 二叉搜索树迭代器
    Leetcode 199. 二叉树的右视图
    Leetcode 102. 二叉树的层次遍历
    Leetcode 96. 不同的二叉搜索树
    Leetcode 700. 二叉搜索树中的搜索
    Leetcode 2. Add Two Numbers
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/xbzhu/p/10406397.html
Copyright © 2011-2022 走看看