git server

Git-server

我们以Ubuntu为例。首先,在git服务器上创建一个名为 'git' 的用户,并为其创建一个.ssh 目录。并将其权限设置为仅git用户有读写权限

$ sudo adduser git    //here it may needs to set password.
$ su git
$ cd
$ mkdir .ssh
$ chmod 700 .ssh

接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

只要把它们逐个追加到 authorized_keys 文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

现在可以用 --bare 选项运行 git init 来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。

git@daichenghu-OptiPlex-3020:~$ mkdir work
git@daichenghu-OptiPlex-3020:~$ cd work/
git@daichenghu-OptiPlex-3020:~/work$  mkdir project.git
git@daichenghu-OptiPlex-3020:~/work$ cd project.git
git@daichenghu-OptiPlex-3020:~/work/project.git$ git --bare init 
git@daichenghui-OptiPlex-3020:~/work/project.git$ ls
branches  config  description  HEAD  hooks  info  objects  refs

Git client:

$ cd myproject
$ git init
$ cat "public static void main()" > a.c $ git add . $ git commit
-m 'initial commit' $ git remote add origin git@gitserver:/opt/git/project.git $ git push origin master

Another client clone code:

git clone git@192.168.64.83:/home/git/work/project.git

 

posted @ 2015-05-29 11:56  牧 天  阅读(328)  评论(0)    收藏  举报