1,首先创建一个user,比如git
$ sudo adduser git
$ su git
2,创建一个空工程
$ mkdir project.git
$ cd project.git
$ git --bare init
3,检测有没有ssh和sshd, 通过
$ which ssh
$ which sshd
如果没有,就按装并且启动。
4,现在,通过clone就可以把远程的project抓取到本地,在另外一个机器上,运行
$ git clone git@gitserver:/path/to/project.git
$ cd project
$ touch mytest
$ git add .
$ git commit -m "first commit"
$ git add .
$ git commit -m "first commit"
$ git push origin master
以后就可一通过 git pull/ git push, 来与远程交互文件
5,为了每次git pull和git push不需要输入密码,可以在~/.ssh/authorized_keys文件里面加入public key。
public key类似于
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5bAGk7F4G3ft2zGB73Kk9fSQik4n477rrGXh4LUapQIODLplJyq2VBidFGeU3X1y3TPiJ1rrDoSdSx1YbC4yvbDXMbZMDGMPUwba+4UA2J/ipNJvb/CICPRN6j+1BIuVjzhyhQzz16yPB19pT1YaIC+fcAU+Mr4Qe0Ad1ycuS5498dbjybwobghxN5ap7MuUGTkGBtQjeL4nYIkvwynwU425Pd6j6qtCnGRBT3mvbY9oVMkisziYaUvxsHxWtYeGl8Xl0zPk4idczTz/LEw1j3C/QYQZGJymUGDUvrfAMMsHCLg/hokJYgXOm2u/kn4eMdH9neuG40SoZqeTaW0xt wang@wang-2013
添加的内容包括 ssh-rsa, key,machine name
6,为了不让别的用户直接访问ssh,可以修改passwd文件,或者通过命令
sudo usermod -s /usr/bin/git-shell git
这需要root权限,其中路径/usr/bin/git-shell可以通过which git-shell来查询到