关于网站开发版本控制设置的建议
我们决定开始对我与另外两个人一起维护/开发的网站使用版本控制。我们目前使用的流程如下:网站托管在专用服务器上。我们的开发工作也是在此服务器上完成的,但是是在实时网站的子文件夹中的网站副本上完成的。当新功能的实现完成后,我们将更改的文件从该子文件夹复制到实时网站。您可能可以想象,以这种方式部署新功能相当麻烦,而且多人同时开发也非常困难。
为了改进我们的开发流程,我们决定开始使用版本控制。我对版本控制系统(Subversion和Mercurial)的使用有一些基本的了解,对集中式和分布式版本控制系统的区别也有一些基本的了解。然而,这可能不足以决定满足我们要求的最佳设置。
我向我们的托管提供商寻求帮助。他们有设置 Subversion 的经验,但没有 Mercurial/Git 的经验。因此他们可以为我们设置 Subversion,但是当我们决定开始使用 Mercurial/Git 时,我们必须自己完成此操作。但在我们做出这个决定之前,我想就最适合我们要求的选择提供一些建议,我将在下面说明。我不介意花一些时间研究如何使用 Mercurial/Git 正确设置解决方案,如果它显然更适合我们的要求,但如果 Subversion 解决方案足以满足我们的要求,我有更好的方法来打发时间:)
我们的主要要求是:
轻松将新功能部署到实时网站。
即使在将其他功能部署到实时网站之后,也能够恢复实时网站中的较大更改(基于用户反馈)。我知道这总是有可能发生冲突,但哪种解决方案最适合这种情况?
也许选择这两种解决方案中的一种而不是我错过的另一种还有其他明显的优点/缺点。
We decided to start to use version control for a website I maintain/develop with two other people. The process we currently use is as follows: the website is hosted on a dedicated server. Our development work is also done on this server, but on a copy of the site in a sub folder of the live website. When the implementation of a new feature is finished, we copy the changed files from this sub folder to the live website. As you probably can imagine deploying a new feature in this way is rather cumbersome, and it makes it also very difficult to develop with multiple people at the same time.
To improve our development process we decided to start using version control. I have some basic knowledge of the use of version control systems (Subversion and Mercurial), and also have some basic understanding of the differences between centralized and distributed version control systems. However, this is probably not enough to be able to decide what the best setup for our requirements will be.
I asked our hosting provider for help. They have experience with setting up Subversion, but no experience with Mercurial/Git. So they can setup Subversion for us, but when we decide to start using Mercurial/Git we have to do this ourselves. But before we make this decision, I would like some advice on what will be the best option for our requirements, which I will state below. I do not mind to spent some time to research how to correctly setup a solution with Mercurial/Git if it is clearly better for our requirements, but if a Subversion solution will be sufficient for our requirements I have better ways to spent my time :)
Our main requirements are:
Easy deployment of new features to the live website.
Be able to revert large changes in the live website (based on user feedback), even after deploying other features to the live website. I know there will always be possibilities of conflicts for this, but which solution will be best suited for this?
And maybe there are other clear advantages/disadvantages to choose one of the two solutions over the other that I have missed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为任何版本控制都会对您有很大帮助。哪个话题是有争议的(接近宗教!),你会得到每个话题的优点和缺点。
这是我的看法。我对 subversion 非常熟悉,对 git 也有些熟悉。虽然 git 是新的、很酷的,并且有一些可以说是很棒的功能,但我发现 subversion 在工作环境中日常使用更容易,而且我还没有找到任何人提出令人信服的论据来解释为什么拥有存储库的本地版本副本是非常重要的。优于使用颠覆。我确实喜欢使用 github 与开源项目协作,但出于某种原因,它似乎是一个更自然的环境。
结论?实际上可能并不那么重要,选择一个你足够舒服并且会实际使用它的东西(在我看来这就是颠覆)。
I think any version control will help you immensely. The topic of which one is controversial (approaching religious!) and you will get loads of pros and cons for each.
Here's my take. I'm quite familiar with subversion and somewhat familiar with git. While git is new and cool and has some arguably great features, I find subversion much easier to use on a daily basis in a work environment and I have yet to find anyone with a convincing argument for why having local versioned copies of a repository is vastly superior to using subversion. I do like using github for collaborating with open source projects however, for some reason it seems a more natural environment.
Conclusion? It actually probably doesn't matter that much, pick one that you are comfortable enough with that you will actually use it (and it sounds to me like that is subversion).