Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GIT或SVN或。。。面向前端开发人员_Svn_Git_Version Control_Mercurial_Frontend - Fatal编程技术网

GIT或SVN或。。。面向前端开发人员

GIT或SVN或。。。面向前端开发人员,svn,git,version-control,mercurial,frontend,Svn,Git,Version Control,Mercurial,Frontend,我最近开始在工作中将我们的一些项目导入Subversion存储库,在接下来的几周里,我希望团队中的每一个人都对自己的源代码控制管理负责 我之所以选择SVN而不是GIT,是因为我希望团队中的每个人,包括设计师、前端用户、集成商。。。负责他们自己的SCM,因此我希望如果他们使用GUI(mac的基石和windows的乌龟SVN)管理他们的工作,事情会进展得更快。我知道有一些GIT GUI,SmartGit目前看起来最吸引人,但没有一个像SVN那样有能力。此外,我觉得如果不使用命令行与DVCS一起工作,

我最近开始在工作中将我们的一些项目导入Subversion存储库,在接下来的几周里,我希望团队中的每一个人都对自己的源代码控制管理负责

我之所以选择SVN而不是GIT,是因为我希望团队中的每个人,包括设计师、前端用户、集成商。。。负责他们自己的SCM,因此我希望如果他们使用GUI(mac的基石和windows的乌龟SVN)管理他们的工作,事情会进展得更快。我知道有一些GIT GUI,SmartGit目前看起来最吸引人,但没有一个像SVN那样有能力。此外,我觉得如果不使用命令行与DVCS一起工作,我们将在翻译中失去一些东西(而我更喜欢使用GUI来管理SVN中的项目)

问题是,分布式解决方案正在快速超越集中式解决方案,因此我想知道,现在投入额外的投资是否真的值得,而不是必须在6个月内将所有内容迁移到DVCS上?从另一个角度来看,SVN将是一个相对无痛的步骤,这将使我们在以后决定迁移到DVCS时有更充分的准备

感谢您的想法和经验


*旁白:出于许多原因,我更喜欢每个SVN存储库有多个项目。然而,这意味着大西洋鱼眼的统计数据意义不大,而且更加混乱。如果我们决定使用GIT,那么每个项目将有一个存储库

我不认为分布式解决方案会很快超过集中式解决方案,因为很多开发都不是分布式的。Git是围绕着从事开源项目的人们遇到的问题而设计的,但大多数这些问题对于管理他们代码的单个企业来说都不是问题


正如您所做的,subversion开发良好的工具库是我们选择它的关键原因。它可以轻松地与人们使用的所有开发工具以及我们的票证系统集成。

关于DVCS,需要记住的一点是,它实际上不是关于它的分布式,而是关于分支和合并。DVC使分支和合并变得更加容易,以至于每个开发者/设计者/前端开发者基本上都有自己的私有分支——本地回购。这样,它们就可以并行工作,而不必互相踩脚。这意味着他们可以每隔几个小时签入一次代码,而不是等待几天,直到他们完成所有的工作来签入代码


我建议你看看Mercurial。它有一个很好的GUI,我发现它比Git更容易开始使用,只是因为它在一开始并没有向您展示所有高级的东西,但一旦它们适应了系统,它仍然拥有所有强大的功能。

尝试向一些用户介绍TortiseGit。根据他们对此的反应,您可以决定ti是否为团队工作。如果他们挣扎了一个多星期,试试SVN


如果他们真的觉得在SVN更舒服,我会同意的。高级开发人员仍然可以使用git svn来利用git的大部分高级功能。

当然,分布式是很好的,但是如果svn具有git相同的非分布式功能,那么首先只有从事大型项目的开源人员才开始使用git。合并和分支是非常好的,但是另外:如果你把事情搞砸了,在使用git时通常很容易解决问题。或者,如果您的源代码充满了更改,并且您很快就需要解决“主代码”的问题,那么git可以节省很多痛苦。当我们在我工作的公司开始使用svn时,我们遇到了很多问题。主要是因为它缺乏很多灵活性


但最后,我想您应该根据是否找到一个好的GUI来做出决定。

“大多数这些都不是单个企业的问题”-但OP明确指出团队中有不止一个人。一旦有,DVCS的所有优势就开始发挥作用。像git这样的分布式系统是为地理上分布的开发人员而设计的,而不仅仅是一个以上的开发人员。一个重要的特性是将整个存储库历史记录都放在本地,因此您不需要特定的服务器来执行差异等操作。事实上,这只是DVCS中的D。另一个原因是分支和合并实际上是有效的,这对大多数人来说,远比分布式的本质更重要。如果你在任何SCM中等待数天签入代码,你就做错了。人们有时害怕将尚未完成的代码强加给其他人。这可能是错误的,但它仍然会发生。你看起来很困惑。拥有CI是不提交代码的主要原因之一,因为任何未100%完成和测试的提交都会破坏CI构建,这是非常糟糕的。CI因此鼓励减少签入。对于DVCS,CI触发器只有在推送时才会发生,您可以执行所有提交操作want@goldenratio,rlovtang的意思是,如果您要等待几天才能提交您测试过的代码,并且知道代码是好的。