通过局域网的GIT仓库

我正尝试在Ubuntu操作系统中通过局域网设置GIT存储库
我能够设置一个GIT仓库,但不知道如何 将仓库暴露给LAN中的其他用户
由于它需要服务器,我安装了OpenSSH-Server 。 但不知道如何configuration它。

请指点我正确的资源阅读。
谢谢。

首先,您需要检查Ubuntu服务器上的openssh安装程序:请参阅此HowTo 。

那么你可以按照这篇文章 ,主要推荐:

$ sudo apt-get install python-setuptools $ mkdir ~/src $ cd ~/src $ git clone git://eagain.net/gitosis.git $ cd gitosis $ sudo python setup.py install $ sudo adduser \ --system \ --shell /bin/sh \ --gecos 'git version control' \ --group --disabled-password \ --home /home/git \ git 

进入你的/etc/ssh/ssh_config文件,并将git添加到允许login的用户列表中。
将你的id_rsa.pub文件复制到你的服务器上(在我们的例子中,我们使用/tmp )然后运行这个命令:

  $ sudo -H -u git gitosis-init < /tmp/id_rsa.pub Initialized empty Git repository in ./ $ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update 

从你的本地机器上testing出来:

  git clone git@YOUR_SERVER:gitosis-admin.git 

为新项目configurationgitosis。 用你最喜欢的编辑器在gitosis下创build一个新块。 它应该是这样的:

 [group myrailsapp] members = myNameAsInTheRsa.pub writable = myNewApp 

有几件事要注意在上面的块。
首先,确保你的名字与你的公钥相匹配(即打开你的id_rsa.pub文件,看看名字是什么。
其次,确保你拼写正确!

完成后,提交并将更改推送到服务器。

 $ git commit -a -m "created a new repository!" $ git push 

你最好的办法是运行一个ssh服务器,并限制你的用户使用git-shell作为他们的loginshell。 如果尚未安装以下命令之一,则可以正确安装ssh服务器。

 sudo apt-get install openssh-server 

要么

 sudo apt-get install dropbear 

然后把/usr/bin/git-shell/etc/shells

 sudo echo $(which git-shell) >> /etc/shells 

然后使用git-shell而不是bash作为你的用户shell。 这将限制用户只能login到服务器时执行git操作,而不是提供给用户一个完整的她..