2011-08-15 41 views
9

我在GitHub上使用git仓库。我知道用于导航和编辑存储库的基本命令,但我不知道如何从头开始设置。如何在Ubuntu中设置私人git存储库?

我想为git repo设置我自己的服务器,这样我的好友就可以帮助我开发适用于Android的游戏。但我不知道如何!

Gitosis会是最好的选择吗?

+1

使用GitHub不是一个选项吗? –

+2

@Esko,GitHub不是一种选择,因为为了使回购私人它需要$$$,我正在寻找一个免费的选项。 – KRB

+0

https://bitbucket.org提供免费的私人git和mercurial存储库。 –

回答

9

首先,您需要创建回购(简单为git init
第二,您需要让您的好友访问回购。

你可以使用它的git处理几个选项:

  • 通过file://(局域网直接访问)通过FTP
  • 通过Git协议
  • (SSH访问)

三,管理访问,权限等。

为此,最好的选择是gitolite,好于gitosis。回购中有一个很好的安装指南。最棘手的部分是设置无密码访问服务器(但这实际上并没有git相关)。使用Ubuntu和Github你可能知道什么是公共ssh密钥。

Gitolite是迄今为止最好的选择,但有点复杂。但是,如果您不想使用gitolite,您可能仍然只能启动回购,并使机器可访问,这是最简单的解决方案。

另请参阅Setting Up the Server从免费Pro Git书。有关于gitolitegitosis的章节也是如此。

10

IMO最简单的方法就是使用ssh。如果你有一台你和你的朋友都可以使用的机器,那么你只需要制作一个仓库的副本,把它放到ssh服务器上,然后从那里克隆它。我使用我的dreamhost帐户作为服务器来执行此操作。

cd my-repo 
cd .. 
# Make a bare copy of the repo 
git clone --bare my-repo my-repo.git 
# Upload the bare copy to the server 
# -- in this case, I've already created a /repos folder to hold the bare repos 
rsync my-repo.git/ mysshserver:/repos/my-repo.git/ 
# Add the new server repo as a remote to your local repository 
cd my-repo 
git remote add origin mysshserver:/repos/my-repo.git 

然后为您的好友:

git clone mysshserver:/repos/my-repo.git/ 

唯一的技巧是确保你使用的是具有写权限的文件夹回购所有用户帐户(/repos/my-repo.git/*在服务器上)。

+0

伟大的建议,谢谢。你真的意思是“git remote add master”吗?或者应该是“git remote add origin”? (我是git的新手,所以可能会感到困惑。) – Nelson

+1

是的,你说得对,可能应该是原点。修复了答案。 – avh

相关问题