zoukankan      html  css  js  c++  java
  • 阅读GitHub源码的正确打开方式

    前言

      近来发现阅读开源项目上手就整最新的代码不合适,缺少项目迭代的具体实现过程,想着若是可以看到针对问题的提交代码就好了,所以就有了本篇博客。

      以文主要涉及:如何fork开源项目,如何保证本地仓库代码更新到最新版本。

      本文以开源项目Flink为例进行说明。

    1、整体流程

      fork项目  =====>  下载本地 ======>  导入IDEA  , 配置git获取代码提交过程 =====>更新代码

    2、fork项目

      为了fork GitHub上的开源项目,首先需要一个GitHub的账号,注册过程可以百度,这里不详细展开。

      在GitHub上找到所需的开源项目,点击右上角的fork,会自动地在自己的GitHub上创建一个repository,具体如下:

    3、下载代码

      为了获取contributer的提交过程,这里使用建议使用git在自己的仓库里获取源码。

      直接在git clone 原项目的URL也是可以,但是若是你想贡献代码到原项目了?直接提代码到原开源项目上去提肯定不行的(当然也不是一定不行,仅说一般情况)。提交代码到原项目上的流程一般是:提交代码到个人的GitHub仓库,然后new pull request到原项目仓库,到时候原项目的作者就会根据情况是否合并你的代码。

      获取URL的过程如下图:

      小技巧:若是你直接从GitHub上下载源码速度慢,恰巧你是用的笔记本,你可以使用热点下载,速度惊人,就是不知道是为什么。

     4、导入IDEA,配置git获取提交过程

      因为Flink是maven项目,所以导入过程只需要在IDEA中选择“导入已存在项目”,选中pom.xml文件即可。

      该过程涉及以下几点:

      1)Java版本的选择

        正规的开源项目都会说明所适合的JDK版本,一般在GitHub项目下面的README.md文件或项目的wiki上;

        所需的scala版本、maven同理;

      2)配置git

        配置过程可百度。

      效果图如下:

     5、更新代码

      以便了解项目的进展,可以采取如下步骤更新本地代码:

      1)配置原项目地址

    git remote add upstream <原仓库github地址>     //如:https://github.com/apache/flink.git

        2)查看当前仓库的远程仓库地址和原仓库地址

    git remote -v

      3)获取原仓库的更新

    git fetch upstream

      4)合并到本地分支

    git merge upstream/master

      5)查看本地更新

    git log

      6)更新自己fork 的GitHub仓库

    git push origin/master

       本地代码更新的还可以先更新GitHub上的仓库,然后在使用git pull更新本地仓库,但是这种方法我在使用过程遇到了无法获取最新的版本分支的情况,具体过程可以参考Ref[1]

      个人建议使用本文提及的以git命令方式更新。

      此外,在使用git从GitHub上拉代码的过程,可能遇到RPC failed问题,可以参考Ref[2]

    Ref:

    [1] https://www.cnblogs.com/eyunhua/p/8463200.html

    [2]https://www.cnblogs.com/zjfjava/p/10392150.html

  • 相关阅读:
    如何理解python中的if __name__=='main'的作用
    如何在阿里云上部署war包到tomcat服务器
    如何在windows上部署war包到tomcat服务器
    解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
    python3中的unicode_escape
    python中的excel操作
    python的logging模块
    python中的SMTP发送邮件
    python中的字符串
    一道问题引出的python中可变数据类型与不可变数据类型
  • 原文地址:https://www.cnblogs.com/love-yh/p/12535808.html
Copyright © 2011-2022 走看看