在自己的服务器上,创建一个目录,用来存放代码,协同他人开发。
具体步骤如下:
服务器端,创建裸库
yum install git
cd /var
mkdir www
cd www
git init --bare weixin.git。 // 注意:需要带有--bare
cd weixin.git
ls
创建用户
useradd weixin
passwd weixin
123123
123123
// 设置密码也可以使用 echo 123123 | passwd --stdin weixin
chown -R weixin:weixin /var/www/weixin
客户端,clone
cmkdir weixin
cd weixin
git clone weixin@47.93.60.51:var/www/weixin.git
输入密码:123123
cd weixin
ls -a // 可以看到代码被clone到本地了
设置pull或者push的时候不输入密码
// 本地生成ssh的公钥和私钥
ssh-keygen -t rsa -C '18231088085@163.com'
// 生成对应的公钥和私钥,在家目录下。ssh文件夹中,有id_rsa.pub文件
复制id_rsa.pub文件内的内容
// 在服务器端
cd /home/weixin
mkdir .ssh
cd .ssh
touch authorized_keys
// 设置权限
chown -R weixin:weixin .ssh
// 粘贴刚刚复制的公钥内容到authorized_keys文件内
// 如果有多个用户的公钥需要设置,回车 分割
以下内容是扩展
设置全局git用户信息
git config --global user.name 'username'
git config global user.email 'your email'
在服务器端修改sshd的配置文件,开启rsa认证
cd /etc/ssh/sshd_config
RSAAuthentication yes
PubKeyAuthenticaation yes
AuthorizedkeysFile .ssh/authorized_keys
修改/etc/passwd这个文件中weixin用户的登录脚本
/bin/git-shell
weixin:x1001:1001::/home/weixin:bin/git-shell
hooks 钩子文件设置
// 进入对应的git库。:刚刚创建的裸库
ls
cd hooks
ls
mv post_update.sample post_update
// 编辑post_update内容
unset GIT_INDEX_FILE
git --work-tree=/var/www/weixin --git-dir=/var/www/weixin.git checkout -f
--work-tree:工作空间,也是实际存放代码的空间
--git-dir:git仓库空间,一定是以.git结尾的文件夹