git设置远程Repository

Posted by Elton's Blog on January 6, 2013
  1. 设置用户和组 设置需要使用远程Repository的用户和组,比如需要John, Andrew和Robert三个开发者需要使用远程git Repository

在服务器端设置:

$ sudo groupadd developers
$ sudo useradd -G developers -d /home/john -m -s /bin/bash john
$ sudo useradd -G developers -d /home/andrew -m -s /bin/bash andrew
$ sudo useradd -G developers -d /home/robert -m -s /bin/bash robert

设置他们的密码

$ sudo passwd john
$ sudo passwd andrew
$ sudo passwd robert
  1. 设置无密码ssh登录 因为git要使用ssh方式登录服务器读取数据,为方便操作,所以要设置一下无密码操作的ssh,具体设置参见

  2. 设置远程git Repository 假设服务器端的仓库放置在管理员的用户目录中,具体操作如下:

$ cd ~
$ mkdir -p repositories/project.git
$ cd repositories/project.git
$ git init --bare --shared=group
# Initialized empty shared Git repository in repositories/project.git/
$ ls
# branches  config  description  HEAD  hooks  info  objects  refs

更改目录权限,配置给developers这个组

$ sudo chgrp -R developers .
$ ls -l
# drwxrwsr-x 2 manager developers 4096 2011-01-19 13:38 branches
# -rw-rw-r-- 1 manager developers  126 2011-01-19 13:38 config
  1. 访问远程仓库 为了方便开发人员的操作,把远程仓库给每个开发人员自己用户目录中建立一个软连接
$ sudo ln -s /home/manager/repositories/project.git/ /home/john/
$ sudo ln -s /home/manager/repositories/project.git/ /home/andrew/
$ sudo ln -s /home/manager/repositories/project.git/ /home/robert/

在开发人员John的电脑上

$ mkdir -p ~/work/project/
$ cd ~/work/project/
$ git clone [email protected]:project.git .
# Initialized empty Git repository in ~/work/project/.git/

这样就初始化了一个空的仓库,下面填些内容做个测试

$ echo "Hello" > readme.txt
$ git add readme.txt
$ git commit -m "Adding a readme file"
$ git push origin master
# Commit messages ...

之后在其他开发人员的电脑上,取下这个远程仓库到本地

$ git clone git.yourcompany.com:project.git

在他的电脑上就可以看到之前John建立的readme文件了。