git是一個版本控制系統。Linus Torvalds 在 2005 年創建了 Git,用於開發 Linux 內核。Git主要用於軟件源代碼管理。但是,它可用於跟蹤任何文件集,例如 HTML 或 CSS 或以標記語言編寫的教程。Git 是一個分布式版本控制系統。專用的 Git 服務器有助於管理訪問控制、通過 Web 顯示 Git 存儲庫的內容以及管理多個存儲庫。在 Git 中,客戶端不僅僅檢查文件的最新快照。它們完全鏡像存儲庫,包括歷史記錄。
微軟收購 Github
現在是正式的。微軟宣布達成協議,收購全球領先的軟件開發平台 GitHub。我認為這是對開源項目的警鍾。這么多開源代碼托管在 Github 上。
我們中的一些人在 IT 領域工作了很長時間。我們沒有忘記大惡微軟。微軟是SCO 針對 Linux 訴訟的幕后推手,並被稱為開源癌症。它積極遵循擁抱,擴展,熄滅的政策。微軟還因濫用專利(參見Netscape和微軟每年從 Android專利使用費中獲得 20 億美元的收入)和最近的 Windows 10 遙測隱私問題而聞名。名單是無窮無盡的。應該是一家謹慎信任的公司,它對開源社區和 Linux 操作系統有着悠久的濫用歷史。因此,安裝您的 Git 服務器是最好的策略。
Git 和 Github 替代方案的各種實現
Git 服務器有多種實現方式:
- 專有(例如
Bitbucket
) - Git 即服務(例如
GitHub
) - 開源(例如
gitolite
、Gerrit
)
讓我們看看您可以在自己的服務器上托管的六個開源 Github
替代方案。
一、GitLab – 基於 Web 的 Git 存儲庫管理器,具有 wiki、問題跟蹤功能等
GitLab
是一款免費、開源且基於 Web 的 Git 存儲庫管理器軟件。它具有 wiki
、問題跟蹤和其他功能。代碼最初是用 Ruby
編寫的,后來用 Golang
重寫了一些部分。GitLab
社區版 (CE) 是一個開源的端到端軟件開發平台,具有內置的版本控制、問題跟蹤、代碼審查、CI/CD 等功能。在您自己的服務器、容器或雲提供商上自托管 GitLab CE
。
經營者 | GitLab BV 荷蘭 |
---|---|
服務器端免費軟件 | 部分【GitLab Community Edition (CE)】 |
客戶端免費軟件 | 是 |
代碼審查 | 是 |
錯誤跟蹤 | 是 |
網絡托管 | 是 |
wiki | 是 |
私人分支 | 是 |
個人分支 | 是 |
構建系統 | 是 |
發布二進制文件 | 是 |
自托管 | 是 |
版本控制系統 | Git |
執照 | 麻省理工學院外籍人士 |
商業支持 | 是 |
操作系統/堆棧支持 | Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git |
下載 | https://gitlab.com/gitlab-org/gitlab-foss |
二、Gitea – Git
它是一個無痛的自托管 Git
服務。Gitea
是 Gogs
軟件的社區分支。它是用 Golang
編寫並在 MIT 許可下發布的輕量級代碼托管解決方案。它適用於 Windows、macOS、Linux、ARM
等。
經營者 | Gitea 作者 |
---|---|
服務器端免費軟件 | 是 |
客戶端免費軟件 | 是 |
代碼審查 | 是 |
錯誤跟蹤 | 是 |
網絡托管 | 是 |
wiki | 是 |
私人分支 | 是 |
個人分支 | 是 |
構建系統 | 否 |
發布二進制文件 | 否 |
自托管 | 是 |
版本控制系統 | Git |
許可證 | 麻省理工學院 |
商業支持 | 不適用 |
操作系統/堆棧支持 | Linux/Unix/Windows(任何可以運行 Golang 的東西)、PostgreSQL/MySQL 數據庫 |
下載 | https://gitea.io |
三、GNU Savannah
GNU Savannah
是自由軟件基金會的免費開源軟件。它目前提供 CVS、GNU arch、Subversion、Git、Mercurial、Bazaar、郵件列表、網絡托管、文件托管和錯誤跟蹤服務。但是,該軟件不適用於新用戶。設置和掌握有關它的一切需要一點時間。
經營者 | 自由軟件基金會,股份有限公司 |
---|---|
服務器端免費軟件 | 是 |
客戶端免費軟件 | 是 |
代碼審查 | 是 |
錯誤跟蹤 | 是 |
網絡托管 | 是 |
wiki | 否 |
私人分支 | 否 |
個人分支 | 否 |
構建系統 | 否 |
發布二進制文件 | 不適用 |
自托管 | 是 |
版本控制系統 | Git、CVS、HG、SVN、BZR |
執照 | 麻省理工學院外籍人士 |
商業支持 | 是 |
操作系統/堆棧支持 | Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git |
下載 | http://savannah.gnu.org/projects/administration |
四、GitBucket – 用 Scala 編寫的開源 GitHub
Gitbucket
是一個由 Scala
提供支持的 Git
平台,具有易於安裝、高擴展性和 GitHub API
兼容性。它提供類似 GitHub
的用戶界面 (UI) 和功能,例如通過 HTTP/HTTPS
和 SSH
托管 Git
存儲庫、存儲庫查看器、問題、wiki
和拉取請求。
經營者 | Gogs 作者 |
---|---|
服務器端免費軟件 | 是 |
客戶端免費軟件 | 是 |
代碼審查 | 未知 |
錯誤跟蹤 | 未知 |
網絡托管 | 是 |
wiki | 是 |
私人分支 | 是 |
個人分支 | 未知 |
構建系統 | 否 |
發布二進制文件 | 否 |
自托管 | 是 |
版本控制系統 | Git |
許可證 | Apache 許可證 2.0 |
商業支持 | 未知 |
操作系統/堆棧支持 | Java 8 (Linux/Unix/Windows) |
下載 | https://github.com/gitbucket/gitbucket |
五、Gogs - 一個自托管 Git 服務
該項目的目標是以最簡單、最快、最輕松的方式設置自托管 Git
服務。借助 Go
,這可以通過跨 Go
支持的所有平台(包括 Linux、Mac OS X、Windows
和 ARM
)的獨立二進制分發來完成。
經營者 | Gogs 作者 |
---|---|
服務器端免費軟件 | 是 |
客戶端免費軟件 | 是 |
代碼審查 | 是 |
錯誤跟蹤 | 是 |
網絡托管 | 是 |
wiki | 是 |
私人分支 | 是 |
個人分支 | 是 |
構建系統 | 否 |
發布二進制文件 | 否 |
自托管 | 是 |
版本控制系統 | Git |
許可證 | 麻省理工學院 |
商業支持 | 不適用 |
操作系統/堆棧支持 | Linux/Unix/Windows(任何可以運行 Golang 的東西)、MySQL/PostgreSQL/MSSQL/TiDB 數據庫 |
下載 | https://gogs.io/ |
六、其他 Github 替代方案
以下是適用於所有具有開源許可證的平台的 GitHub 的更多替代方案:
GitPrep
它是 Github
克隆。您可以將便攜式 github
系統安裝到 unix/linux
中。您可以不受限制地創建用戶和存儲庫。這是免費軟件。
Kallithea
Kallithea
是 Software Freedom Conservancy 的成員項目,是一個 GPLv3
的自由軟件源代碼管理系統,支持兩個領先的版本控制系統 Mercurial
和 Git
,並具有易於用戶和管理員使用的 Web 界面。您可以在您自己的服務器和主機存儲庫上安裝 Kallithea
,用於您選擇的版本控制系統。
TuleapL
Tuleap
是一個項目管理系統,用於管理應用程序生命周期、敏捷開發和設計項目、V 模型、需求管理、IT 服務管理等。Tuleap
集成了偽造系統功能,使團隊能夠管理軟件源(使用 Subversion、Git
或 CVS
);共享技術或項目文件;跟蹤錯誤;鞏固與客戶、開發商或第三方的溝通。
Phabricator
Phabricator
是一組 Web
應用程序,可幫助軟件公司構建更好的軟件。它是一組用於開發軟件的工具。它包括用於代碼審查、存儲庫托管、git
、錯誤跟蹤、項目管理等的應用程序。
結論
有了它,您可以在 Linux
或 Unix
服務器上托管六個 Github
替代方案。無需依賴雲或擔心 Microsoft
會查看您的代碼庫。如果我錯過了任何其他熟知的基於 FOSS
的 Git
服務器,請在下面的評論部分中添加。