2023-11-05 05:00:00

Git服务器像GitHub?

我是一个长期的Subversion用户,将尝试Git。我读过一些关于它的文章,了解分布式的本质——我能看到很多好处。

然而,我确实喜欢中央服务器的想法,它可以承担备份、记录系统等的角色,同时仍然使用Git进行本地分支和共享。我不是在做一个开源项目,所以我不能使用Github(不付费),所以我的问题是:运行本地git服务器的最佳实践方式是什么?

我知道这可能违反了标准的Git使用模式,但它对我的项目很有用。然而,任何我可能忽略的担忧都是受欢迎的。

谢谢!


当前回答

如果你需要好的,简单的GIT服务器,那么你必须尝试GitBlit。 我也使用gitolite,但它只有服务器,与GitBlit你得到所有在一个,服务器,管理,回购。经理……URL: http://gitblit.com/

其他回答

http://repo.or.cz,虽然相当好的倾向于一些用户的一些问题。

如果你是其中之一,我建议你试试http://unfuddle.com,因为你来自一个subversion背景。

查看“30秒之旅”:http://unfuddle.com/about/tour/plans

对于简单的设置,您可以提供对中央服务器的SSH访问,并设置每个用户的工作目录从这个“原点”进行推/拉。这对于小型团队来说是最简单和常见的设置。

你也可以看看gitosis,它给你一个http服务器,并能够远程管理它。这样,您就不必向每个提交者授予ssh访问权限和所有必需的内容。

为了补充Chris所说的,您可以使用gitosis (http://eagain.net/gitweb/?p=gitosis.git)来控制谁可以实际访问回购。

根据您的使用情况,还可以使用钩子(在.git/hooks文件夹中),这样当您从本地计算机进行推送时,您的代码将自动拉入服务器的文件系统。这里有一个流行的脚本:http://utsl.gen.nz/git/post-update。不过,并不是所有情况下都需要这样做。

Gitorious是一个开源的git web界面,你可以在自己的服务器上运行,就像github一样:

http://getgitorious.com/

更新:

http://gitlab.org/现在也是另一个选择。

更新2:

Gitorious现在加入了GitLab

您可能会考虑Gitblit,这是一个用于小型工作组的开源、集成的纯Java Git服务器、查看器和存储库管理器。