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中的任何位置便可。
程序员专栏 扫码关注填加客服 长按识别下方二维码进群
近期精彩内容推荐:
在看点这里好文分享给更多人↓↓