1. 建立与服务器的互信
1.1 如果客户端没有GIT,需要下载
1.2 客户端GIT BASH中生成密钥(私钥+公钥):
$git config --global user.name <用户名>
$git config --global user.email <用户邮箱>
$ssh-keygen -t rsa
$<回车> × 3
这样就会生成私钥id_rsa和公钥文件id_rsa.pub
1.3 重命名公钥文件
可以在BASH控制台输出的信息中看到生成的密钥路径,一般是C盘用户目录下的.ssh文件夹下,用文本编辑器打开id_rsa.pub文件,看到文件末尾有用户名信息<用户名>(Windows当前登录的用户名),将id_rsa.pub重命名为<用户名>.pub
1.4 上传公钥文件到keydir目录
修改gitosis-admin下的gitosis.conf文件,将公钥文件对应的<用户名>添加到members中,如:
原来的配置是:
[gitosis]
[group gitosis-admin]
members = root@iZ251qywiatZ
writable = gitosis-admin
[group developers]
members = root@iZ251qywiatZ 管理员@ZHAO-PC
writable = qihaizhi
则在“members=”后添加Vick\ Qi@VICKQI-WIN8
变成:
members = root@iZ251qywiatZ 管理员@ZHAO-PC Vick\ Qi@VICKQI-WIN8
其中“Vick\ Qi@VICKQI-WIN8 ”是公钥对应的用户名。
1.6 提交更改
$git add .
$git commit -a -m 'add new user'
$git push
2. 利用GIT远程下载代码
客户端:
$git clone ssh://<服务器登录用户>@<服务器域名或IP>/<要下载的GIT源相对与用户登录后的目录的相对路径>,比如我的例子是:
$git clone ssh://git @<服务器IP>/home/git/repositories/qihaizhi.git
1.1 如果客户端没有GIT,需要下载
1.2 客户端GIT BASH中生成密钥(私钥+公钥):
$git config --global user.name <用户名>
$git config --global user.email <用户邮箱>
$ssh-keygen -t rsa
$<回车> × 3
这样就会生成私钥id_rsa和公钥文件id_rsa.pub
1.3 重命名公钥文件
可以在BASH控制台输出的信息中看到生成的密钥路径,一般是C盘用户目录下的.ssh文件夹下,用文本编辑器打开id_rsa.pub文件,看到文件末尾有用户名信息<用户名>(Windows当前登录的用户名),将id_rsa.pub重命名为<用户名>.pub
1.4 上传公钥文件到keydir目录
通过scp命令或FTP将重命名后的公钥上传到服务器的gitosis-admin/keydir目录下,例如我的服务器目录是:/home/git/work/gitosis-admin/keydir
修改gitosis-admin下的gitosis.conf文件,将公钥文件对应的<用户名>添加到members中,如:
原来的配置是:
[gitosis]
[group gitosis-admin]
members = root@iZ251qywiatZ
writable = gitosis-admin
[group developers]
members = root@iZ251qywiatZ 管理员@ZHAO-PC
writable = qihaizhi
则在“members=”后添加Vick\ Qi@VICKQI-WIN8
变成:
members = root@iZ251qywiatZ 管理员@ZHAO-PC Vick\ Qi@VICKQI-WIN8
其中“Vick\ Qi@VICKQI-WIN8 ”是公钥对应的用户名。
1.6 提交更改
$git add .
$git commit -a -m 'add new user'
$git push
2. 利用GIT远程下载代码
客户端:
$git clone ssh://<服务器登录用户>@<服务器域名或IP>/<要下载的GIT源相对与用户登录后的目录的相对路径>,比如我的例子是:
$git clone ssh://git @<服务器IP>/home/git/repositories/qihaizhi.git