centos搭建git服务器

安装git,并创建一个git用户

1
2
3
# yum install -y git
# adduser git
# git --version

初始化仓库

  • 随便选择一个目录gittest作为仓库地址
1
2
3
4
root@aliyun:/mnt# mkdir gittest
root@aliyun:/mnt# cd gittest
root@aliyun:/mnt/gittest# mkdir mygitrepo.git
root@aliyun:/mnt/gittest# cd mygitrepo.git
  • 初始化仓库
1
2
root@aliyun:/mnt/gittest/mygitrepo.git# git init --bare
Initialized empty Git repository in /mnt/gittest/mygitrepo.git/
  • 修改权限
1
2
root@aliyun:/mnt/gittest/mygitrepo.git# cd ..
root@aliyun:/mnt/gittest# chown -R git:git mygitrepo.git

仓库已经创建完成。
这个时候可以在本地克隆一下试一试:


提示输入密码,这时只需要输入git用户的密码就行了。当然每次输入密码很烦,所以接下来我们配置sshkey

配置ssh key

  • 在本地windows生成ssh
1
ssh-keygen -t rsa -C "your_email@example.com"

之后一直按enter就会生成两个文件。将pub打开复制下来。

  • 在centos上导入
1
2
3
4
cd /home/git
mkdir .ssh
cd .ssh
touch authorized_keys

将本地的pub复制进这个authorized_keys文件里

  • 修改权限
  1. 进入.ssh的父级目录,把.ssh 文件夹的 owner 修改为 git

    1
    chown -R git:git .ssh
  2. 修改 .ssh 目录的权限为 700
    修改 .ssh/authorized_keys 文件的权限为 600

1
2
chmod 700 .ssh
chmod 600 authorized_keys

再次在本地克隆:

到目前服务器搭建git就完成了。
查看git hooks自动同步请看点击使用git hooks 来同步更新本地的push.

参考资料

  1. http://www.cnblogs.com/dee0912/p/5815267.html
  2. http://blog.csdn.net/wave_1102/article/details/47779401