2011-08-30 54 views
0

我在一个小团队的开发人员和设计师,开发Web应用程序,现在我们决定开始使用版本控制。我们有主要的开发服务器,所有的项目都存储在这里,我们通过ftp工作(但我们有ssh访问)。如何在远程开发服务器上使用版本控制?

问题是,有人在其上推送提交后更新服务器上的文件的最佳方式是什么,因此所有更改都可以立即在浏览器中看到? 据我所知,一个git仓库应该是'裸'的,可以接收push,并且由于它是'裸'的 - 它没有工作文件。这是否意味着git对此没有用处或者有办法?

在Mercurial推送提交必须应用本地文件来更改。应该通过某种钩子来完成吗?

而且我实际上并不知道svn在这种情况下的表现如何,从来没有使用过。

该解决方案应易于使用并与GUI客户端兼容。

回答

2

查找“钩子”,即某些特定事件发生时由版本控制软件调用的脚本,例如,当变更集已被拉入存储库时。该功能在SVN,GIT,Mercurial,Bazaar中可用...

我目前在中央储存库上有一个钩子,上面有一个WIP网站:当团队中有人推送他的更改时,网站的测试版本由钩子脚本自动更新。然后,当我们对某个版本感到满意时,我们使用另一个脚本将此版本移至测试版网站,以便某些用户能够进行检查。

+0

谢谢,我会尝试用钩子来使用Mercurial。 – grisevg

0

没有必要让工作树能够通过网络访问您的回购。请参阅GitWeb上的文档。

+1

要么我不明白你的答案,要么你不明白我的问题。我需要网站作为存储库,并且能够在推送更新后在浏览器中查看该网站的更改。为了能够进入git仓库,它必须是'裸'的,所以没有工作文件会在那里。有解决方法吗? – grisevg

+1

误解是我的。我以为你在讨论通过HTTP浏览repo中的源代码。 Klaim关于钩子的建议似乎是寻找你想要的东西的好方法。 –

相关问题