开发人员如何在GitHub之前与其他人共享他们的本地git存储库(或者使用Git进行版本控制的任何基于Web的托管服务)?
始终可以使用HTTP与相当少的Web服务器设置共享repo。或者您可以设置SSH服务器。或者使用共享文件夹(尽管您仍然希望在文件共享上放置一个裸仓库,然后为每个开发人员的本地创建克隆)。
(您也可以在光盘或USB驱动器上传输信息,或者任何其他方法。但是,您通常不会以这种方式共享整个仓库;您将创建“捆绑”文件并共享它们,接收端将像远程回购一样对待捆绑。)
像GitHub这样的托管服务只是建立在事先构建到git中的这些传输选项上;服务真正添加的不是基本的远程访问,而是访问控制,工作流等等。
您可以通过在类似Unix的盒子上正确设置sshd服务来创建您自己的Git SSH服务器(创建git用户并将不同的协作者公钥附加到git用户.ssh / authorized_keys文件等,更多信息here),然后执行下一个命令在Git SSH服务器中创建存储库
git init --bare name_of_repo
基于Git Web的服务器(如GitHub,GitLab,Bitbucket等)帮助实现了更轻松的用户管理方式,还增加了许多其他好处,如项目和组织管理,存储库团队和协作者,易于代码浏览和审阅等,但所有这些都是git base的顶部