我们如何在共享工作环境中使用版本控制?

时间:2010-01-19 17:52:06

标签: asp.net svn git version-control

目前我们的团队(网络开发人员,一名设计师和一名文案撰写人)都在不同的工作站上工作,但在相同的开发环境(我们都安装相同的共享驱动器)上进行更改,这是一个营销网站,而不是一个Web应用程序,所以没有构建或部署,我们只是在完成后将更改推送到实际站点,但我认为保留文件版本(尤其是服务器代码)非常重要,即使它只占我们内容的一小部分(主要是静态页面。)

我想在我们的工作设置中使用版本控制,但是我不确定SVN或GIT是否会与同一个开发环境中的多个人签入/签出。我有SVN,CVS,GIT,Perforce和PVCS的现有经验,但一直与个人开发环境合作。

我想要一个不需要我们运行单独的开发环境的解决方案,因为我们缺乏基础设施。

8 个答案:

答案 0 :(得分:5)

大多数(如果不是全部)版本控制实现旨在由多个人使用。 Subversion和GIT都很乐意为您提供所需的一切,但您可能会发现Subversion更容易启动并快速运行。如果您打算在Windows环境中托管它,请查看VisualSvn Server

GIT和SVN之间的主要区别在于GIT是一个分布式系统,而SVN依赖于中央存储库。在软件开发中,使用分布式系统有很好的理由,但是你所描述的需求很容易通过更简单的SVN实现来实现(我认为)。

使用SVN(在Windows下)的另一个好理由是TortoiseSvn client是任何版本控制系统的用户界面的最佳示例之一。非常容易学习如何使用和记录良好以及OS社区支持。

如果您不希望维护自己的源代码管理服务器的开销,也可能值得研究托管版本控制系统的各种提供商。

答案 1 :(得分:1)

您不需要大量服务器硬件。为什么每个dev / designer / etc都不能在自己的计算机上运行该站点?你每个至少有一台电脑? :)

在这种情况下,GIT或SVN只是一种品味问题。

答案 2 :(得分:1)

我们以前在旧工作场所这样做的方式是给每个用户一个帐户,并给出“项目”和帐户。我们每个人都会查看当地的工作副本。该项目(在您的情况下,它将是您的业务人员使用的工具我猜)也会检查副本。一旦开发人员对某个版本感到满意,我们就会对项目工作副本发布更新。

在您的设置中,您说您都拥有相同的开发环境。你的意思是说你们每个人都有自己的网络电脑,或者你们共用一台电脑?无论哪种方式,你都应该拥有自己的svn账户和本地工作指导,所以这不是问题。

答案 3 :(得分:1)

根据您所讨论的数据量,需要考虑的选项是Dropbox“安全备份,同步和文件共享变得简单”)。它支持版本控制,并允许您共享文件夹。

它还具有为您的数据提供异地备份和远程Web访问的好处。

答案 4 :(得分:1)

使用svn,您可以让每个提交自动触发实时网站的更新。仍然让每个人都在同一个目录中工作有点尴尬(因为它一直都是,但无论如何......),但旧习惯很难,并且假设人们坚持这一点,svn确实通过WebDAV导出其存储库,所以应该可以挂载它作为台式机上的网络文件系统。

答案 5 :(得分:1)

  1. 目前我们的团队(网络开发人员,一名设计师和一名文案撰写人)都在不同的工作站上工作,但在相同的开发环境中进行更改(我们都安装相同的共享驱动器) “添加SVN将消除对共享驱动器的需求。您将在签入SVN的本地目录中工作。乌龟对你来说是一个完美的客户。

  2. 它是一个营销网站,而不是一个网络应用程序,所以没有构建或部署,我们只是在完成后将更改推送到实际网站”一个简单的批处理作业(ANT脚本)或其他)可以写给你们每个人。一旦文件准备好部署,只需执行批处理并将其从SVN中检出最新文件并复制到您的Web服务器。

答案 6 :(得分:0)

“不要求我们运行单独的开发环境,因为我们缺乏基础设施”

没有多大意义。

据推测,你们每个人都有一个单独的工作站。您的工作站与您的Web服务器是分开的。只是猜测,但那是典型的。

您可以 - 平凡 - 每个人都在您的工作站上拥有私人开发副本。然后,您可以使用SVN同步各种更改。

您可以将版本标记为“可以继续”。

有人可以 - 当你看起来一切正常时 - 在网络服务器上进行更新,以便将正式版投入生产。

这不需要比现有基础设施更多的基础设施。

答案 7 :(得分:0)

使用SVN,您可以让开发人员提交到服务器,并在服务器上有一个特殊用户签出最新版本。因此,提交你的工作包括提交SVN,然后登录到服务器并检查最新的主干。

您可以使用与git和其他分散版本控制系统相同的模式。这些系统的优点是它们不强制执行中央服务器模式。例如,dev a可以推送到b,然后将其推送到服务器。