我正在开始一个新的分布式项目。我应该使用SVN还是Git,为什么?
当前回答
你试过Bzr吗?
这很好,cononical(制作Ubuntu的人)制作它是因为他们不喜欢市场上的其他东西……
其他回答
我已经使用SVN很长时间了,但是每当我使用Git时,我都觉得Git非常强大,轻量级,尽管有一点学习曲线,但它比SVN要好。
我所注意到的是,每个SVN项目,随着它的发展,都会变成一个非常大的项目,除非它被导出。其中,GIT项目(以及GIT数据)的大小非常轻。
在SVN中,我与从新手到专家的开发人员都打过交道,如果新手和中级开发人员为了重用一个文件夹而从另一个SVN项目复制文件夹,他们似乎会引入文件冲突。然而,我认为在Git中,你只需要复制文件夹就可以了,因为Git没有在所有子文件夹中引入. Git文件夹(就像SVN那样)。
在很长一段时间内处理了大量的SVN之后,我终于考虑将我和我的开发人员转移到Git,因为它很容易协作和合并工作,还有一个很大的优势是,本地副本的更改可以根据需要提交,然后最终推送到服务器上的分支,而不像SVN(我们必须不时地在服务器上的存储库中提交更改)。
谁能帮我决定我是否真的应该使用Git?
我可能会选择Git,因为我觉得它比SVN强大得多。有一些便宜的代码托管服务对我来说非常有用——你不需要做备份或任何维护工作——GitHub是最明显的候选者。
也就是说,我对Visual Studio和不同的SCM系统的集成一无所知。我认为与SVN的集成会明显更好。
SVN是一个repo和许多客户端。Git是一个有很多客户端回购的回购,每个客户端都有一个用户。它是去中心化的,人们可以在本地跟踪自己的编辑,而不必将内容推送到外部服务器。
SVN的设计更加集中,其中Git基于每个用户都有自己的Git回购,这些回购将更改推回到中央回购中。因此,Git为个人提供了更好的本地版本控制。
同时,你可以选择TortoiseGit, GitExtensions(如果你在github上托管你的“中央”git库,他们自己的客户端- github for Windows)。
如果您正在寻求摆脱SVN,那么您可能需要对Bazaar进行一些评估。它是具有这种分布式元素的下一代版本控制系统之一。它不像git那样依赖POSIX,所以有原生的Windows版本,它有一些强大的开源品牌支持。
但您甚至可能还不需要这些特性。看看分布式vcs的特点、优点和缺点。如果您需要的不仅仅是SVN提供的功能,请考虑使用一个。如果您不喜欢,您可能希望坚持使用SVN(目前)的高级桌面集成。
我从来没有理解过“git在Windows上不好”这个概念;我只在Windows下开发,git从来没有遇到过任何问题。
我绝对推荐git而不是subversion;它只是更加通用,并且允许“离线开发”,这是subversion永远无法做到的。它可以在几乎所有可以想象到的平台上使用,并且拥有比你可能使用过的更多的功能。
你必须使用DVCS,它就像源代码管理的一个量子飞跃。就我个人而言,我使用Monotone和它加速的开发时间没有结束。我们在Windows、Linux和Mac上使用它,它非常稳定。我甚至让buildbot在每个平台上进行每晚的项目构建。
分布式DVCS通常意味着您将创建一个中央服务器,仅供人们推送更改。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别