git server搭建
sudo apt-get install git
# sudo useradd -m git
sudo adduser git
收集git客户端信任的id_rsa.pub文件到git用户目录的这个文件里面 /home/git/.ssh/authorized_keys,
(注 /home/git目录、git仓库目录、git仓库目录里面hook执行的命令权限,也跟git用户权限有关,都应该所属git:git用户:组)# sudo mkdir -p /home/git/store
# sudo chown git:git /home/git
# sudo chmod 755 /home/git
# cd /home/git/store
# git --bare init
到此服务器git项目已经初始化完毕
禁止git用户ssh登陆
vi /etc/passwd 如下修改 #git:x:1001:1001:,,,:/home/git:/bin/bash git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
配置多个git用户提交代码可以新建一个groups
groupadd gitgroup
然后分别把每个git用户加到该group里面
usermod -G gitgroup -a username
刷一下git server库的权限
sudo chown -R git:gitgroup /home/git
git 免密登入
设置 ssh 授权文件的路径,编辑 sshd_config 打开 AuthorizedKeysFile 注释并设置文件路径,(注意:authorized_keys文件的权限300,文件所属的用户,就是可以免密登录的用户)
vi /etc/ssh/sshd_config
AuthorizedKeysFile /usr/loganv/.ssh/authorized_keys
创建文件和路径
mkdir -p /usr/loganv/.ssh/
cd /usr/loganv/.ssh/
echo "" > authorized_keys
把客户端生成的ssh公钥拷贝到当前目录,然后把内容添加到 authorized_keys里面
cat id_rsa.pub >> authorized_keys
git hook
设置 git hook,到git 仓库下,编辑post-receive
cd /home/git/store
vi hooks/post-receive
添加下面内容到post-receive,
export LANG=zh_CN.UTF-8 unset GIT_DIR cd /opt/path/git-client git pull origin master
git client
初始化git项目
不忽略文件大小写:git config core.ignorecase false
# cd /opt/lampp/htdocs/llc
# git init
# git add .
# git commit -m "新建git库"
# git remote add origin ssh://<你的IP>/home/git/store/
# git push origin master

浙公网安备 33010602011771号