開源軟體組態管理過程(2)——Github

來源:互聯網
上載者:User

標籤:開源   配置   管理   github   軟體   

二、Github——交流協作的極佳場所

Github目前已經不單單是一種交流協作工具,不僅僅是一個開源軟體協作平台,更成為了一種開源文化的象徵。開源文化本著自由、平等、共用的思想,獲得了很多人的好評和推廣。

Github是依賴git等版本管理軟體的,當然,目前也支援使用SVN來管理其版本庫。

Github社區的組成

一般,我們在github上的一個項目中,往往扮演這樣四類角色:

  • 所有者(Owner):即建立該項目且在他們Github賬戶上有該項目的使用者或組織。
  • 維護者和共同作業者(Maintainers and Collaborators): 致力於一個項目並促進該項目發展的使用者。通常所有者和維護者是同一個使用者或組織,他們對項目庫都有寫的許可權。
  • 貢獻者(Contributors):每一個對該項目發出過pull request併合併到項目中的使用者都是貢獻者。
  • 社區成員(Community Members):即那些經常使用且非常關心該項目的使用者,他們在討論功能特徵和pull request上非常活躍。
開源項目的工作方式

如果在Github上發現一個項目,你高度興趣,那麼你可以按照這樣的流程來參與:

  1. 建立一個新的Issue

    先問問管理員,你希望增加的功能和內容是否有人進行中,或者他們已經有很好的解決方案,和他們交流一下。
    當然,這裡也是交流問題的場所。
    小提示:問問題前搜尋一下,是否有類似問題,如果不滿意,也可以在該問題下繼續交流。

  2. Fork這個項目到你自己的倉庫

    github能夠快速的將該項目複製一份到你的空間。並把他clone到你的本地,通過添加遠端倉庫的方式,將原始項目也加入進來,經常查看一下是否有新的更新。

  3. 單獨建立一個分支

    你的更改應該屬於特性研發,所以開一個以你名字命名或特殊含義的名字作為你更改的分支。

  4. 如果有測試,請運行測試

    測試的目的在於不要讓你的代碼引入新的bug,有自動化的測試功能時,善用自動化的測試架構保證系統的正常。

  5. 上傳你的代碼到你自己的github倉庫,並發送pull request

    Pull Request 簡寫PR,是一種非常不錯的許可權管理手段,如果你不是項目組核心成員,那麼你將無法直接更新該倉庫,你需要先更新你的倉庫,再通過pull request的方式,請求合并,將你的新修改的分支合并到核心項目中來,這樣就保證了項目既可以被有效參與者更改,又不會過於混亂無法管理。

    當然,如果你是項目負責者,也有一些小技巧,例如有人的PR不是最新版,那麼你不必立即關閉,可以在留言處禮貌的提醒他更新版本,這樣他更新好時,該PR也會同步被更新。

項目約定檔案

一般一個開源項目中,都會有這樣幾個檔案:

  • README.md 支援markdown文法的項目說明檔案,也會顯示在github項目首頁上的
  • LICENSE 著作權協議檔案,用來說明開源協議
  • CONTRIBUTING.md 合作者的開發規程,說明你的代碼提交應該遵守哪些規範,以及期望添加的功能
  • .gitignore 這個檔案是git下的設定檔

開源軟體組態管理過程(2)——Github

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.