我正在开始一个新的分布式项目。我应该使用SVN还是Git,为什么?
当前回答
Git在Windows下还不受本地支持。它针对Posix系统进行了优化。然而,运行Cygwin或MinGW可以让你成功运行Git。
现在我更喜欢Git而不是SVN,但是如果你来自CVS, SVN的土地,它需要一段时间才能超过阈值。
其他回答
我会设置一个Subversion存储库。通过这种方式,个人开发人员可以选择是使用Subversion客户机还是Git客户机(使用Git -svn)。使用Git -svn不能为您提供完整Git解决方案的所有好处,但它确实为单个开发人员提供了对自己的工作流的大量控制。
我相信Git在Windows上的表现会在相对较短的时间内达到在Unix和Mac OS X上的效果(既然你问了)。
Subversion为Windows提供了出色的工具,例如用于浏览器集成的TortoiseSVN和用于Visual Studio集成的AnkhSVN。
肯定是svn,因为Windows充其量是git世界中的二等公民(更多细节请参阅http://en.wikipedia.org/wiki/Git_(software)#Portability)。
更新:抱歉断开的链接,但我已经放弃尝试让SO与包含括号的uri一起工作。[链接现在固定。——编者)
我已经使用SVN很长时间了,但是每当我使用Git时,我都觉得Git非常强大,轻量级,尽管有一点学习曲线,但它比SVN要好。
我所注意到的是,每个SVN项目,随着它的发展,都会变成一个非常大的项目,除非它被导出。其中,GIT项目(以及GIT数据)的大小非常轻。
在SVN中,我与从新手到专家的开发人员都打过交道,如果新手和中级开发人员为了重用一个文件夹而从另一个SVN项目复制文件夹,他们似乎会引入文件冲突。然而,我认为在Git中,你只需要复制文件夹就可以了,因为Git没有在所有子文件夹中引入. Git文件夹(就像SVN那样)。
在很长一段时间内处理了大量的SVN之后,我终于考虑将我和我的开发人员转移到Git,因为它很容易协作和合并工作,还有一个很大的优势是,本地副本的更改可以根据需要提交,然后最终推送到服务器上的分支,而不像SVN(我们必须不时地在服务器上的存储库中提交更改)。
谁能帮我决定我是否真的应该使用Git?
If your team is already familiar with version and source control softwares like cvs or svn, then, for a simple and small project (such as you claim it is), I would recommend you stick to SVN. I am really comfortable with svn, but for the current e-commerce project I am doing on django, I decided to work on git (I am using git in svn-mode, that is, with a centralised repo that I push to and pull from in order to collaborate with at least one other developer). The other developer is comfortable with SVN, and while others' experiences may differ, both of us are having a really bad time embracing git for this small project. (We are both hardcore Linux users, if it matters at all.)
当然,你的里程可能会有所不同。
我可能会选择Git,因为我觉得它比SVN强大得多。有一些便宜的代码托管服务对我来说非常有用——你不需要做备份或任何维护工作——GitHub是最明显的候选者。
也就是说,我对Visual Studio和不同的SCM系统的集成一无所知。我认为与SVN的集成会明显更好。
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何完全删除TFS绑定
- 哪些Eclipse文件属于版本控制?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 命令行svn for Windows?