Git / Gitolite 的应用学习
趁这几天顺便把Git也学习下,以防以后会用到这个。Git的好处就不在此多说了,相比svn那也可以罗列很多出来。另一个,git和github结合也是很好的,冲这个也应该学习下。
由于之前的svn用到了很精细的权限控制,所以这里结合Gitolite来一起学习下。所以就分server和client。
一、Client端:
Linux下如果有就不需要在安装了,有没有用命令看下就好,直接在命令行敲 git 不报错即OK。没有用yum安装git就好了,windows下到官网下载安装包,直接下一步就OK。Git官网:http://git-scm.com/download/ 如果你打不开,那你懂的......
Windows下安装OK了,会有Git Bash的命令行工具。点击进去后如下:
运行正常的话,我们来生成个秘钥,来为以后管理git使用。我已经生成过了,所以这里命令就不执行了。执行ssh-keygen -t rsa一路回车即可在当前用户的家目录下生成秘钥。
现在要把公钥重命名下(为了方便识别用户)并上传到准备安装Git的服务器做认证。
目前为止,client可以先做这么多了,如果是Linux的client,也是一样的操作。相对更方便些。
二、Server端:
目前CentOS6已经集成了Git,所以无需再去安装Git,但是要用到Gitolite,就需要安装了。
# cat /etc/issue
CentOS release 6.2 (Final)
# rpm -qa git
git-1.7.1-2.el6_0.1.x86_64
# 新建仓库目录
# mkdir /src/project -pv
# 新建git用户管理git
# useradd git
# 做一个仓库的链接到家目录下的
# chown -R git.git /src
# su - git
$ ln -sv /src/project /home/git/repositories
# clone gitolite仓库
$ git clone git://github.com/sitaramc/gitolite
$ pwd
/home/git/gitolite
$ ./install --help # 可以查看安装的一些参数说明等信息
$ mkdir ../bin # 在家目录创建一个bin目录来安装
$ ./install -to /home/git/bin/ # 就是cp目录下的src目录
# 使用公钥创建初始化版本库
$ gitolite setup -pk /tmp/chenfeng.pub
Initialized empty Git repository in /src/project/gitolite-admin.git/
Initialized empty Git repository in /src/project/testing.git/
# 这样就说明成功了。
$ pwd
/home/git/repositories
$ ls
gitolite-admin.git testing.git # 可以看到两个目录,一个账户管理的,一个测试的
# 现在client就可以clone版本库,并进行用户管理和代码编写工作了。
签出版本前,我们可以测试下ssh的公钥认证是否成功:
如上信息。说明ssh公钥认证已正常。而且也显示了对哪些库有什么权限。否则就要检查。
--------------------------------------分割线 --------------------------------------
GitHub 教程系列文章:
--------------------------------------分割线 --------------------------------------