Python實戰社羣php
Java實戰社羣前端
長按識別下方二維碼,按需求添加java
掃碼關注添加客服git
進Python社羣▲程序員
掃碼關注添加客服github
進Java社羣▲web
開源最前線(ID:OpenSourceTop) 猿妹編譯shell
連接:https://opensource.com/article/20/11/open-source-alternatives-github編程
Git是一種流行的版本控制系統,在編程代碼等領域都十分受歡迎,它能夠在本地運行,也能夠在服務器上運行從而進行協做,還能夠做爲託管服務,目前,有不少託管平臺都十分受歡迎。服務器
GitHub不是開源的。實際上,這對大多數用戶來講沒有太大區別。放在GitHub上的絕大多數代碼都是鼓勵你們共享的,因此GitHub的主要功能是一種公共備份服務。若是GitHub取消或完全改變其服務條款,恢復數據將相對簡單,由於你能夠在GitHub上保存一個本地代碼副本。然而,一些組織已經開始依賴於GitHub提供的非Git服務,這使得從GitHub遷移變得很困難。這是一個尷尬的地方,因此對於許多人來講,尋找一個Github替代品是一個不錯的選擇。
今天就和你們推薦5款開源的Github替代品:
1. GitLab
GitLab不只僅是GitHub的一個替代品,它更像是一個完整的DevOps平臺。GitLab幾乎是軟件開發機構必備的基礎設施,由於它提供了代碼和項目管理工具問題報告、持續交付和監控。你能夠在GitLab.com上使用GitLab,也能夠下載到本地使用,
GitLab致力於開源,不管是在其代碼和背後的組織,仍是在Git自己。該組織發佈了大量的業務文檔,做爲一個網站,GitLab很是熱衷於推廣Git。當你使用站點的特性如合併請求時,若是在終端使用,GitLab的接口將處理在純Git中解決請求。
2. Gitolite
Gitolite是一個輕量級的Git代碼託管系統,與GitLab不一樣的是,它沒有Web界面,沒有桌面客戶端,從用戶的角度它沒有向Git添加任何東西。事實上,用戶並不直接使用Gitolite。他們仍是像往常同樣使用Git,不論是在終端中使用Git,仍是在像Git Cola這樣的前端客戶端中使用Git。
不過,從服務器管理員的角度來看,Gitolite解決了運行普通Git服務器時必須手動管理的那些權限問題,使用Gitolite只在服務器上建立一個用戶(例如,一個名爲git的用戶)接着使用這個身份登陸訪問Git服務器,Gitolite能夠驗證用戶的訪問權限、管理他們的SSH密鑰、在訪問特定存儲庫時驗證他們的特權級別等等。管理員無需再建立無數的Unix用戶賬戶,而只需將用戶(經過他們的SSH公鑰標識)列到可訪問的存儲庫列表裏。
Gitolite的本質是幾個prel腳本加一些純文本配置文件,用戶甚至感覺不到他的存在,只要你不是想要一個網頁界面,Gitolite就是一個共贏的選擇。
3. Gitea and Gogs
Gogs 是一款得到MIT許可的Git服務器框架和Web用戶界面,2016年,一些Gogs用戶以爲開發受到了阻礙,由於只有最初的開發人員有訪問開發庫的權限,因此他們把代碼交給了Gitea。現在,這兩個項目彼此獨立共存,從用戶的角度來看,它們的體驗基本上是相同的。不過這兩個項目都託管在Github上
使用Gitea和Gogs,你能夠下載源代碼並在服務器上運行,它爲用戶提供了一個網站,用戶能夠在其中建立賬戶、登陸、建立本身的存儲庫、上傳代碼、瀏覽代碼、文件問題和bug報告、請求代碼合併、管理SSH密鑰等等,它的界面在外觀和感受上與GitLab、GitHub或Bitbucket相似,因此若是用戶有過任何在線代碼管理系統的經驗,他們基本上已經熟悉Gitea和Gogs。
Gitea或Gogs能夠做爲一個包安裝在任何Linux服務器上,包括做爲容器安裝在BSD、macOS或Windows上,或者從源代碼編譯,它們都是跨平臺的,因此它們能夠在運行Go的任何東西上運行。
4. Git
雖然沒有用戶管理和權限設置,但Git集成了SSH,並附帶了一個特殊的Git -shell應用程序,該應用程序是專門設計來做爲使用Git命令的環境。將用戶的默認shell設置爲git-shell,能夠限制用戶在與服務器交互時可用的操做。
Git自己沒有提供存儲庫權限工具來幫助你管理每一個用戶的訪問權限,所以你不得不借助於操做系統的用戶和訪問控制列表(ACL)控件,若是你只有少數幾個用戶,那個操做會變得有點乏味,對於小型項目或剛剛啓動的項目,在Linux服務器上運行Git是解決協做空間需求最簡單而直接的解決方案。
5. Bonus: Fossil
Fossil絕對不是Git,從某種意義上說,這正是它做爲GitHub替代品的吸引力所在。事實上,Fossil是整個Git系統的替代品。它是一個完整的版本控制系統,就像Git同樣,它還在你建立的每一個存儲庫中內置了bug跟蹤、wiki、論壇和文檔特性。它還包括一個Web界面,這聽起來可能有點難以置信,感興趣的能夠嘗試看看,只需從Fossil的網站下載並將其存儲在系統PATH中的任何位置便可。
程序員專欄 掃碼關注填加客服 長按識別下方二維碼進羣
近期精彩內容推薦:
在看點這裏好文分享給更多人↓↓