Sharing repository with GIT

1) Add git user to remote machine

sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git

2) Create repository base dir at remote machine

sudo -u git mkdir /home/git/repositories

3) Start git-daemon for anonymous clone.

sudo -u git git-daemon --reuseaddr --verbose --base-path=/home/git/repositories/ [--detach]

4) Copy your public ssh key onto the remote machine

$ cd ~

$ ssh-keygen

$ su -

$ scp /home/user/.ssh/id_rsa.pub valid_user@ssh_host.domain.com:/pub/scm

$ ssh valid_user@ssh_host.domain.com

# cat /home/user/.ssh/id_rsa.pub >> /pub/scm/.ssh/authorized_keys

# exit

 

(optional)

If ssh-agent is not running:

$ eval `ssh-agent`

To avoid typing the password everytime, we can add the password to our key-agent:

$ ssh-add

To avoid typing the user on git push url we can do the following trick:

$ vim ~/.ssh/config

Add these contents:

Host localhost 127.0.0.1 HostName 127.0.0.1 User git Compression yes Protocol 2

Save and quit.

 

5) Now we can test it:

cd testproject
git init
git add .
git commit -m "initial import"
git remote add origin git@yourserver.com:repositories/testproject.git
touch .git/git-daemon-export-ok
scp -rp .git git@yourserver.com:repositories/testproject.git
git push --all

or,
$ git push git+ssh://127.0.0.1/pub/scm/repo.git master

(optional) whenever you wanna add another user, just

$ scp /home/newuser/.ssh/id_rsa.pub valid_user@ssh_host.domain.com:/pub/scm

$ ssh valid_user@ssh_host.domain.com

# cat /home/newuser/.ssh/id_rsa.pub >> /pub/scm/.ssh/authorized_keys

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值