閱讀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

相關文章
相關標籤/搜索