我正在开始一个新的分布式项目。我应该使用SVN还是Git,为什么?
当前回答
这可以归结为:
你的发展是线性的吗?如果是这样,您应该坚持使用Subversion。
另一方面,如果您的开发不是线性的,这意味着您将需要为不同的更改创建分支,然后将这些更改合并回主开发线(Git称为主分支),那么Git将为您做更多的工作。
其他回答
我从来没有理解过“git在Windows上不好”这个概念;我只在Windows下开发,git从来没有遇到过任何问题。
我绝对推荐git而不是subversion;它只是更加通用,并且允许“离线开发”,这是subversion永远无法做到的。它可以在几乎所有可以想象到的平台上使用,并且拥有比你可能使用过的更多的功能。
我会设置一个Subversion存储库。通过这种方式,个人开发人员可以选择是使用Subversion客户机还是Git客户机(使用Git -svn)。使用Git -svn不能为您提供完整Git解决方案的所有好处,但它确实为单个开发人员提供了对自己的工作流的大量控制。
我相信Git在Windows上的表现会在相对较短的时间内达到在Unix和Mac OS X上的效果(既然你问了)。
Subversion为Windows提供了出色的工具,例如用于浏览器集成的TortoiseSVN和用于Visual Studio集成的AnkhSVN。
我会选择SVN,因为它传播更广泛,知名度更高。
我想Git更适合Linux用户。
这可以归结为:
你的发展是线性的吗?如果是这样,您应该坚持使用Subversion。
另一方面,如果您的开发不是线性的,这意味着您将需要为不同的更改创建分支,然后将这些更改合并回主开发线(Git称为主分支),那么Git将为您做更多的工作。
你试过Bzr吗?
这很好,cononical(制作Ubuntu的人)制作它是因为他们不喜欢市场上的其他东西……
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- Mercurial初学者:最终实用指南
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?