我读了很多信息,但仍然不理解。假设我们有服务器和客户端机器。客户端通过ssh连接到服务器。服务器上没有任何git的身份验证方式。我考虑最简单的配置 - 有三个客户端和一个服务器。在服务器上存储了git repo。
在这种情况下,我们需要在服务器上安装git吗?我感到困惑,因为git push
和git clone
命令是在客户端使用git执行的。
我读了很多信息,但仍然不理解。假设我们有服务器和客户端机器。客户端通过ssh连接到服务器。服务器上没有任何git的身份验证方式。我考虑最简单的配置 - 有三个客户端和一个服务器。在服务器上存储了git repo。
在这种情况下,我们需要在服务器上安装git吗?我感到困惑,因为git push
和git clone
命令是在客户端使用git执行的。
仅补充一下这里已经很好的答案。
当涉及到 Git 时,“服务器”这个概念是令人困惑的。我们喜欢认为有一个中心点,所有东西都“驻扎”在那里,在我们的技术生活中,我们认为这个中心点就是服务器。我们觉得这个想法很舒服(无论对错)。
作为分布式系统,git-ball 的每个克隆副本在技术上都是仓库。
话虽如此,为您的存储库设置一些“中心”控制点仍然是个好主意。
Bitbucket 或 Github,甚至您自己的桌面也可以充当“主”存储库。
Git 的专业用途通常使用 Bitbucket 上的“主”存储库,只可由拉取请求进行写入。团队成员将 fork 存储库,进行工作,然后在提交到自己的存储库之后,向“主”存储库发出拉取请求。接着同行代码审查就可以进行,并且成功的拉取请求可以被合并到主要存储库中。
这促进了许多良好的实践,也意味着您在某个人的服务上备份了一个干净的存储库。
我们(在我的机构)可能有超过100个项目以这种方式运行,涉及多种语言,效果非常好。Git是分布式版本控制系统。您不需要拥有服务器。您和您的朋友可以使用git pull和git push在两台机器上工作,而无需服务器(这是分布式版本控制的优势)。
您始终可以使用免费(适用于小团队)的服务器,例如https://bitbucket.org/。