Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
究竟什么是git服务器?_Git - Fatal编程技术网

究竟什么是git服务器?

究竟什么是git服务器?,git,Git,我知道git服务器承载git存储库的主副本。但从技术上讲,什么构成了一个?例如,如果我在Eclipse中,并且在我的存储库中配置了一个远程设备,那么该远程设备必须具备哪些特殊功能?远程服务器可能只是windows服务器上映射的网络驱动器中的一个文件夹吗?我很好奇,因为我看到了一系列与远程设备连接的选项,包括本地文件 我想我的问题归根结底是,是否有git服务器必须处理的特殊git协议内容,或者它真的只是为组成存储库的文件提供服务的一种手段 您可以通过多种协议与远程Git repo通信:ssh、rs

我知道git服务器承载git存储库的主副本。但从技术上讲,什么构成了一个?例如,如果我在Eclipse中,并且在我的存储库中配置了一个远程设备,那么该远程设备必须具备哪些特殊功能?远程服务器可能只是windows服务器上映射的网络驱动器中的一个文件夹吗?我很好奇,因为我看到了一系列与远程设备连接的选项,包括本地文件


我想我的问题归根结底是,是否有git服务器必须处理的特殊git协议内容,或者它真的只是为组成存储库的文件提供服务的一种手段

您可以通过多种协议与远程Git repo通信:ssh、rsync、本地文件、ftp,当然,还有一种特殊的Git协议,仅举几例(有一个更广泛的列表可供选择)。Git附带了一个工具,用于处理自己的Git协议,如果您选择以这种方式设置服务器的话

远程服务器是否可能只是服务器上映射的网络驱动器中的一个文件夹 windows服务器?我想知道,因为我看到了一系列的选择 连接远程设备,包括本地文件

是的,它可以像本地文件夹一样简单。当然,如果你不需要任何认证或授权的话

我想我的问题归根结底是,有没有特别的git git服务器必须处理的协议内容,或者它真的只是一个 为构成存储库的文件提供服务的方式

有两个协议,一个通过HTTP,另一个通过SSH。我相信HTTP协议是只读的,没有授权,但我不记得了

不过,SSH协议是在您有SSH访问权的任何计算机上设置git服务器的一种简单方法。在下面每次调用
git push
git pull
时,您安装的
git
将通过SSH连接到服务器,分别运行
git receive pack
git upload pack
,并继续执行协议,该协议将确定您可以发送或接收的最小
pack
文件,以满足您的需求需要

您可以阅读有关git协议的所有肮脏细节,或者是一个更简单的解释