好代碼是管出來的——使用GitHub

  前面的文章介紹了Git的基本概念和用法,本文則是基於GitHub的一個實踐介紹,主要內容有:html

GitHub簡介

  GitHub是一個Git的遠程代碼託管平臺,它除了提供代碼託管外,還提供瞭如問題發佈、pull request、報表統計等功能,下圖爲EFCore項目的貢獻者統計信息:分佈式

  

  GitHub提供了一整套遠程協做的解決方案,因此是開源項目的首選平臺,許多知名項目都託管在GitHub上。
  GitHub能夠免費的建立本身的開源代碼倉庫,同時有付費服務,如私有倉庫、GitHub的企業解決方案等。post

我的與組織

  GitHub中提供了我的倉庫和組織倉庫,分別適合我的開源項目以及組織開源項目。
  我的倉庫主頁:spa

  

  組織倉庫首頁:3d

  

  建立組織:htm

    

  填寫組織信息:  blog

  

倉庫的建立與維護

  1.建立一個倉庫(我的和團隊倉庫建立相似,下圖是團隊倉庫)項目管理

  

  2. 倉庫的維護:
  針對每個倉庫,GitHub提供了代碼管理(Code)、問題管理(Issues)、拉請求(Pull Request)、項目管理(Projects)、百科(Wiki)、統計(Insights)、倉庫設置(Settings)功能,經過這些功能能夠對代碼倉庫進行維護:開發

  

Fork與Pull request

  Fork和Pull request是GitHub上完成代碼共享的核心功能,下面就介紹如何使用Fork和Pull Request完成代碼貢獻:
  1. 將貢獻目標倉庫Fork到本身的倉庫中:get

  

  

  2. 獲取Fork後的倉庫,獲取並對代碼進行修改最後推送到遠程分支(直接使用master分支):

  

  修改代碼後將修改的內容推到遠程倉庫:

  

  注:更多使用Git的內容參考:《好代碼是管出來的——使用Git來管理源代碼》以及《好代碼是管出來的——Git的分支工做流與Pull Request》。

  3. 發起Pull Request:

  

  建立新的pull request將會顯示如下信息(代碼由SelimTeam倉庫合併到yqszt的倉庫、代碼是可合併的以及代碼差別信息):

  

   當點擊「Create Pull Request」按鈕後,該請求將會被建立。

   4. 處理Pull Request:
   yqszt/MyBlog庫擁有者,能夠在pull request選項卡中看到相應的信息並進行合併:

  

  文件差別:

  

  合併Pull Request:

  

  合併結果:

  

    

小結 

  本文介紹瞭如何使用GitHub來我的/團隊代碼倉庫,對於一個GitHub倉庫來講除了提供基礎的代碼版本管理功能之外還提供了問題管理、項目管理、百科、拉請求、數據統計等功能,倉庫的擁有者(開發者)可使用GitHub進行項目管理、代碼管理,還能夠將相關知識經過百科進行發佈,以便於項目的受益者、貢獻者可以快速得到項目信息,而貢獻者除了能夠經過Wiki獲取信息外,還能夠Issue、Pull Request對項目提出疑問或進行貢獻,擁有者和貢獻者全部的溝通均可以經過Github來完成。
  另外Github的fork與pull request實際上就是上一篇文章中提到的「集成管理者工做流」的實現,其中在對pull request的代碼進行合併時,實際上還強制進行了代碼審查,這種工做流模式即適合本地的開發團隊,也適合開發人員來自世界各地的開源項目。
  從這些方面看來Github再也不是一個簡單的Git遠程倉庫託管平臺,而是一個分佈式的軟件開發管理解決方案

  PS:Github被微軟收購,從此Github又會與.Net生態圈擦出什麼樣的火花?拭目以待。

本文連接:http://www.javashuo.com/article/p-ftegvsah-em.html 

好代碼是管出來的——淺談.Net Core的代碼管理方法與落地(更新中...)

相關文章
相關標籤/搜索