2023-11-05 05:00:00

Git服务器像GitHub?

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

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

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

谢谢!


当前回答

http://code.google.com/p/luna-tool/是scala应用程序,它实现了我需要的大部分github部分

其他回答

如果您不介意使用命令行,那么在需要对不同存储库设置不同访问权限的公司环境中工作时,gitolite绝对是一种享受。这是@Chris提到的一种较新的胶质分裂症。

以下是作者网站上的摘要:

Gitolite lets you use a single user on a server to host many git repositories and provide access to many developers, without having to give them real userids on or shell access to the server. The essential magic in doing this is ssh's pubkey access and the authorized_keys file, and the inspiration was an older program called gitosis. Gitolite can restrict who can read from (clone/fetch) or write to (push) a repository. It can also restrict who can push to what branch or tag, which is very important in a corporate environment. Gitolite can be installed without requiring root permissions, and with no additional software than git itself and perl.

它有一个非常全面的功能集,但我非常喜欢的一点是,所有的日常配置编辑都是通过一个特殊的git存储库完成的。也就是说,添加用户只是

将用户添加到配置文件 添加用户的ssh密钥 提交更改 推到花岗石上 瞧,配置是实时的!

当需要通过浏览器查看代码时,gitolite支持与gitweb“同步”配置。或者如果你喜欢cgit,它是用C编写的git的一个非常好的web前端,那么你应该看看这个如何操作。

你也可以安装Indefero,它是GoogleCode的GPL克隆,因为它同时支持Subversion和Git,你可以有一个平稳的过渡。我是Indefero的作者。

尝试GitLab

这是我用过的最好的git GUI工具。它与GitHub非常相似。

它是开源的(MIT许可证),是安装最多的git管理软件,安装超过25.000个。它每月发布一次,有一个活跃的社区,有超过375名贡献者。您可以在自己的服务器上拥有无限的私有、内部和公共存储库。它是一个运行在大多数Unix平台上的Ruby on Rails应用程序。

https://rhodecode.com是Git & Mercurial的开源web应用程序,可以很容易地安装在任何操作系统下(包括安装程序)。

RhodeCode(新版本称为RhodeCode Enterprise)增加了Git缺少的功能,如代码审查,通常来说非常快速和可靠。

你甚至可以在你的本地服务器上安装GitHub(但不是免费的):

https://enterprise.github.com/