如何在Ubuntu中设置私有git存储库?

时间:2011-08-15 18:44:17

标签: git ubuntu

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

我想为git repo设置我自己的服务器,这样我的好友就可以帮我解决我正在为Android开发的游戏。但我不知道怎么做!

Gitosis会是最好的选择吗?

2 个答案:

答案 0 :(得分: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/

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

答案 1 :(得分:9)

首先,您需要创建回购(轻松为git init
其次,你需要让你的伙伴访问回购。

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

  • 通过file://(在LAN上直接访问)
  • via ftp
  • 通过git协议(ssh访问)

第三,管理访问权限,权限等。

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

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

另请参阅免费Setting Up the Server一书中的Pro Git。有关于 gitolite gitosis 的章节。