Git 服务器搭建

接下来我们将以 Centos 为例搭建 Git 服务器。

1、安装Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下来我们 使用root账户创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ adduser git -g git

 

2、创建证书登录

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub(请参考Git SSH Key 生成步骤)文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:(注意先使用su git 切换到git用户)

$ su git

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

3、初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/git/test.git,在/home/git目录下输入命令(也是在git用户的权限下进行):

$ cd /home/git
$ git init --bare test.git
Initialized empty Git repository in /home/git/test.git/

这个时候git仓库就建好了!

补充:想要把自己的应用目录关联到该仓库下,假设我的应用目录是/Data/webapps/test

注意:post-receive文件需要有可执行权限,钩子才会起作用

vi /home/git/test.git/hooks/post-receive
添加上
#!/bin/sh
#GIT_WORK_TREE=/Data/webapps/test git checkout prod -f
git --work-tree=/Data/webapps/test --git-dir=/home/git/test.git checkout -f development

 

4.windows客户端clone代码

参考Git本地仓库(Repository)详解里面git的安装和Git SSH Key 生成步骤里面具体如何clone

 

5.git clone后,添加文件,然后提交文件,再push后,/Data/webapps/test/ 下面就有对应的新文件了

比如在目录下创建了一个test.txt文件,然后在git bash 终端里依次执行以下代码:

git add test.txt

git commit test.txt -m 'commit'

git push origin master 

这个时候,服务器/Data/webapps/test/目录下就有test.txt文件了!

注意:如果提示permission denied,可以尝试设置 如下:chmod -R 777 /Data/webapps/test/

 

posted @ 2015-09-09 23:53  joshua317  阅读(512)  评论(0编辑  收藏  举报