什么是git服务器?

时间:2014-01-24 01:20:50

标签: git

我知道git服务器托管git存储库的主副本。但技术上构成一个什么?例如,如果我在Eclipse中,并在我的存储库中配置远程,那么该远程必须有什么特别之处?遥控器可能只是Windows服务器上映射网络驱动器内的文件夹吗?我想知道因为我看到了一系列与遥控器连接的选项,包括本地文件。

我想我的问题归结为,是否有git服务器必须处理的特殊git协议,或者它真的只是一种服务构成存储库的文件的方法?

2 个答案:

答案 0 :(得分:3)

您可以通过多种协议与远程Git仓库进行通信:ssh,rsync,本地文件,ftp,以及是一种特殊的Git协议,仅举几例(可提供更广泛的列表herehere)。如果您选择以这种方式设置服务器,Git会附带一个工具git-daemon来处理自己的git协议。

答案 1 :(得分:1)

  

遥控器是否可以是a上映射网络驱动器内的文件夹   Windows服务器?我很纳闷,因为我看到了一系列的选择   连接远程,包括本地文件。

是的,它可以像本地文件夹一样简单。当然,如果您不需要任何身份验证或授权,那就是

  

我想我的问题归结为,是否有特殊的git   git服务器必须处理的协议内容,或者它实际上只是一个   提供组成存储库的文件的方法是什么?

HTTP上有两个协议,SSH上有另一个协议。我相信HTTP协议只适用于所有人,并且没有授权,但我不记得了。

SSH协议是在SSH访问的任何计算机上设置git服务器的简便方法。在下面,每当​​您致电git pushgit pull时,您安装的git将通过SSH连接到服务器并分别运行git receive packgit upload pack并继续执行将确定您可以发送或接收的最小PACK文件,以满足您的需求。

您可以阅读有关git协议herehere的所有脏信息,这是一个更简单的解释。