我是一个长期的Subversion用户,将尝试Git。我读过一些关于它的文章,了解分布式的本质——我能看到很多好处。
然而,我确实喜欢中央服务器的想法,它可以承担备份、记录系统等的角色,同时仍然使用Git进行本地分支和共享。我不是在做一个开源项目,所以我不能使用Github(不付费),所以我的问题是:运行本地git服务器的最佳实践方式是什么?
我知道这可能违反了标准的Git使用模式,但它对我的项目很有用。然而,任何我可能忽略的担忧都是受欢迎的。
谢谢!
我是一个长期的Subversion用户,将尝试Git。我读过一些关于它的文章,了解分布式的本质——我能看到很多好处。
然而,我确实喜欢中央服务器的想法,它可以承担备份、记录系统等的角色,同时仍然使用Git进行本地分支和共享。我不是在做一个开源项目,所以我不能使用Github(不付费),所以我的问题是:运行本地git服务器的最佳实践方式是什么?
我知道这可能违反了标准的Git使用模式,但它对我的项目很有用。然而,任何我可能忽略的担忧都是受欢迎的。
谢谢!
当前回答
https://rhodecode.com是Git & Mercurial的开源web应用程序,可以很容易地安装在任何操作系统下(包括安装程序)。
RhodeCode(新版本称为RhodeCode Enterprise)增加了Git缺少的功能,如代码审查,通常来说非常快速和可靠。
其他回答
Gitorious是一个开源的git web界面,你可以在自己的服务器上运行,就像github一样:
http://getgitorious.com/
更新:
http://gitlab.org/现在也是另一个选择。
更新2:
Gitorious现在加入了GitLab
您可以设置一个ssh服务器并在那里运行一个中央存储库。然后,所有开发人员只需同意(作为策略问题)在完成提交时推送到服务器。这是我工作场所的使用模式。很像CVS和svn。
找到存放存储库的地方(例如/var/gitroot)。 创建一个新的repo (mkdir项目。Git && CD项目。Git && Git init——bare——shared=group)。 然后在您的客户端,克隆远程repo (git克隆ssh://yourserver.com/var/gitroot/project.git && cd项目) 添加一些文件(git添加README) git commit -m“初始导入” Push (git Push origin master)
这应该会为你做好准备。
您可能会考虑Gitblit,这是一个用于小型工作组的开源、集成的纯Java Git服务器、查看器和存储库管理器。
https://rhodecode.com是Git & Mercurial的开源web应用程序,可以很容易地安装在任何操作系统下(包括安装程序)。
RhodeCode(新版本称为RhodeCode Enterprise)增加了Git缺少的功能,如代码审查,通常来说非常快速和可靠。
你甚至可以在你的本地服务器上安装GitHub(但不是免费的):
https://enterprise.github.com/