预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CentOS系统怎样搭建Git版本控制服务器一、安装Gityuminstallgit然后进行配置:useradd--home/home/gitgitpasswdgit创建完用户后就可以切换到git用户下进行后面的设置,如用户名和邮箱:sugitgitconfig--globaluser.name"somebody"gitconfig--globaluser.email"somebody@example.com"设置默认将会保存在~/.gitconfig文件中。此时,Git的功能就已经可以使用了。为了方便后面的操作,可以先来创建一个空版本库。mkdir~/repo然后建立项目目录mkdir~/repo/huhamhire-hosts切换到项目目录,并进行初始化cd~/repo/huhamhire-hostsgitinit-bare至此,一个初始的空项目版本库就配置完成了,后面安装了gitosis之后便可向库中推送我们的代码库内容。二、安装gitosis在安装之前,可以看一下gitosis的实现原理:http://geeklu.com/2012/10/gitosis/先切换回root权限。suroot并先安装python-setuptoolyuminstallpython-setuptools然后开始安装gitosis,值得注意的是gitosis的安装程序本身就是由git管理的,需要使用git来获取。这里在/tmp目录下进行相关的安装操作:cd/tmpgitclonehttps://github.com/res0nat0r/gitosis.git接下来进入下载的gitosis版本库进行安装:cdgitosispythonsetup.pyinstall安装完成后,便进入对gitosis的设置阶段。由于gitosis需要通过SSH进行管理,所以需要创建SSH密钥对,并将公钥放在服务器端,私钥放在客户端。一般的流程是客户端创建完密钥后,将公钥传到服务器上生效。不过,偷懒的话直接在服务器上操作问题也不大。切换到git用户并建立文件夹.ssh:sugitmkdir/home/git/.ssh一定记得,在客户机上生成公钥,上传到服务器,或者在服务器上生成,下载到客户机。进入~/.ssh目录并使用ssh-keygen生成公钥:cd/home/git/.sshssh-keygen-trsa注意不能忘记私钥的密码。默认会生成~/.ssh/id_rsa.pub公钥文件。有了密钥以后便可初始化gitosis,使gitosis获得对Git的管理权限:gitosis-init初始化之后,会在/home/git/repositories创建gitosis-admin.git项目,可以通过维护这个项目来对gitosis进行配置。除此以外,还需要对gitosis-admin.git/hooks/post-update目录赋上特殊权限:chmodu+x/home/git/repositories/gitosis-admin.git/hooks/post-update至此,服务器端的gitosys配置就完成了。三、设置并使用gitosys在服务器端完成了gitosys的配置之后,便可在客户端进行接下来的设置,以便使用Git服务器。较为正规的做法是在客户端通过gitosis-admin版本库做管理设置,之后提交到服务器使项目权限生效,当然也可以使用操作系统的ssh登录方式进行验证,不过这里仅介绍前面一种方法。在进行以下操作时,需要确认一下,你的公钥是不是已经放在客户机~/.ssh/目录下。如果你也在用github的话,那么你需要设置一下多公钥共存的东西。.ssh/config,在这个文件中写入:Hostgithub.comHostNamegithub.comUsergitIdentityFileC:/Users/abc/.ssh/id_rsaHostgit.oschina.netHostNamegit.oschina.netUsergitIdentityFileC:/Users/abc/.ssh/id_rsa_aHostabc.ueder.infoHostNameabc.ueder.infoUsergitPort1000IdentityFileC:/Users/abc/.ssh/id_rsa_new如我就使用了好几个git服务,每个都有自己的公钥,需要配置文件来区分开来,并且我自己的服务器ssh端口已经不是默认端口,需要在配置文件中声明,否则在每次clone的时候要声明端口。在客户机上下载gitosis-admin版本库,这里以linux客户机为例:gitclonegit@VPS的IP/Domain:/home/git/repositories/gitosis-adm