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

6、異常處理

  1) unable to access 'https://github.com/apache/flink.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

  解決辦法:git config --global http.sslVerify "false"

Ref:

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM