所有相干细节都可以从该文档出获得:
http://git.oschina.net/progit/4-%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git.html#
Git其实不存在Server端和Clint端之分,在Git Server上安装的也还是Git。最简单的安装方式是直接用系统提供的包管理工具。例如CentOS/RHEL,可使用:
Git支持4种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议, 我们来简单快速地过1下这4种协议。
对本地协议来说几近只有1种可能的利用场景:即团队使用的是同享的文件系统(例如 NFS),团队中的每个成员都能向访问本地文件系统1样访问它。
SSH是Git最经常使用传输协议,这是应为SSH本身已非常成熟且通用的访问协议了,Git基于SSH是非常聪明的选择。另外SSH是4种协议中唯逐一个同时支持读写操作的网络协议。
1个典型的SSH协议的repo是这样的:
Git 协议是现存最快的传输协议。如果你在提供1个有很大访问量的公共项目,或1个不需要对读操作进行授权的庞大项目,架设1个 Git 守护进程来供应仓库是个不错的选择。它使用与 SSH 协议相同的数据传输机制,但省去了加密和授权的开消。
HTTP 协议的好处是易于架设。几条必要的命令就能够让全球读取到仓库的内容。
简单总结1下: 如果是公司的项目,SSH多是你们团队唯1需要使用的协议。如果是开源项目或是允许对项目进行匿名只读访问,那末除SSH 协议以外,还需要支持Git或Http/s协议以便他人访问读取。
实际上Git并没有特别的配置,只是如果我们使用SSH协议进行数据传输的话我们需要创建专职的登陆账号和登入密钥,因此所谓的“配置”实际上是SSH相干的配置。
创建Git用户和用户组
命令本省非常简单, 这里要解释的是为何我们要创建这个git用户,这个用户不是为了运行Git而创建的专职用户,而仅仅是为了SSH访问而创建的。正如我们在前面“SSH协议”1节中提到的地址格式:
这里的“user@gitserver”实质上就是SSH在登入时提供的用户和远程主机的命令行格式,所以说,既然我们需要使用SSH的方式登入并进行数据读写,总归是要有1个登入账户吧?OK,那就创建1个叫git专用账户来专门支持git的数据传输吧。
另外,我们把git用户的home目录设定为了/var/git, 用以区分1般的登入账户。而这个/var/git下,是放置所有repository的理想位置。
一样的,并没有甚么真实的git client端配置,还是SSH登陆的问题,不过就是为本地用后创建SSH密钥对,并把公钥拷贝到Server端git用户的~/.ssh/authorized_keys中,简单讲就是:只要本地能通过密钥登入git@gitserver就算是完成了客户真个配置。
关于配置SSH密钥登入,本文不再赘述。只是结合这里的场景重复1个角色:客户端要访问Git Server则应由客户端生成密钥,私钥客户端保存,公钥拷贝至Git Server的Git用户的authorized_keys文件中。
配置完成以后,我们就能够在Server端创建(初始化)Repository了。假定的我们要创建的项目就叫“project”,我们在应当在Server端履行以下命令:
下一篇 在Shader中实现3D镜面反射