阅读GitHub源码的正确打开方式

前言

  近来发现阅读开源项目上手就整最新的代码不合适,缺乏项目迭代的具体实现过程,想着如果能够看到针对问题的提交代码就行了,因此就有了本篇博客。html

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

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

一、总体流程

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

二、fork项目

  为了fork GitHub上的开源项目,首先须要一个GitHub的帐号,注册过程能够百度,这里不详细展开。apache

  在GitHub上找到所需的开源项目,点击右上角的fork,会自动地在本身的GitHub上建立一个repository,具体以下:maven

三、下载代码

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

  直接在git clone 原项目的URL也是能够,可是如果你想贡献代码到原项目了?直接提代码到原开源项目上去提确定不行的(固然也不是必定不行,仅说通常状况)。提交代码到原项目上的流程通常是:提交代码到我的的GitHub仓库,而后new pull request到原项目仓库,到时候原项目的做者就会根据状况是否合并你的代码。spa

  获取URL的过程以下图:scala

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

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

  由于Flink是maven项目,因此导入过程只须要在IDEA中选择“导入已存在项目”,选中pom.xml文件便可。

  该过程涉及如下几点:

  1)Java版本的选择

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

    所需的scala版本、maven同理;

  2)配置git

    配置过程可百度。

  效果图以下:

 五、更新代码

  以便了解项目的进展,能够采起以下步骤更新本地代码:

  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] http://www.javashuo.com/article/p-vmuqfszy-ka.html

[2]http://www.javashuo.com/article/p-upzaujtz-ka.html

相关文章
相关标签/搜索