我正在开始一个新的分布式项目。我应该使用SVN还是Git,为什么?
当前回答
Git在Windows下还不受本地支持。它针对Posix系统进行了优化。然而,运行Cygwin或MinGW可以让你成功运行Git。
现在我更喜欢Git而不是SVN,但是如果你来自CVS, SVN的土地,它需要一段时间才能超过阈值。
其他回答
肯定是svn,因为Windows充其量是git世界中的二等公民(更多细节请参阅http://en.wikipedia.org/wiki/Git_(software)#Portability)。
更新:抱歉断开的链接,但我已经放弃尝试让SO与包含括号的uri一起工作。[链接现在固定。——编者)
Git在Windows下还不受本地支持。它针对Posix系统进行了优化。然而,运行Cygwin或MinGW可以让你成功运行Git。
现在我更喜欢Git而不是SVN,但是如果你来自CVS, SVN的土地,它需要一段时间才能超过阈值。
有趣的是: 我在Subversion Repos中托管项目,但是通过Git Clone命令访问它们。
请阅读在谷歌代码项目中使用Git进行开发
虽然谷歌代码原生说话 Subversion,可以轻松使用Git 在开发过程中。搜索“git” Svn建议这种做法是正确的 广泛传播,我们也鼓励你 用它来做实验。
在Svn存储库上使用Git给我带来了好处:
我可以分配到几个 机器,承诺和从 对他们来说 我有一个中央备份/公共svn存储库供其他人检查 他们可以自由地使用Git
SVN的2个主要优点很少被提及:
Large file support. In addition to code, I use SVN to manage my home directory. SVN is the only VCS (distributed or not) that doesn't choke on my TrueCrypt files (please correct me if there's another VCS that handles 500MB+ files effectively). This is because diff comparisons are streamed (this is a very essential point). Rsync is unacceptable because it's not 2-way. Partial repository (subdir) checkout/checkin. Mercurial and bzr don't support this, and git's support is limited. This is bad in a team environment, but invaluable if I want to check something out on another computer from my home dir.
只是我的经验。
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添加?
- 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之间的区别