<分区>
我开始了一份新工作,我需要从头开始实现版本控制系统。在我之前的工作中,我使用 Subversion(特别是带有 TortoiseSVN、AnkhSVN 和 SubClipse 客户端的 Visual SVN 服务器)实现了版本控制。
最近听说了很多关于Git的事,但是一直没用过。我在网上阅读的大多数文章都说 Git 比 Subversion 好。我不是在这里问哪个更好,所以请将这些评论留给你们自己。
就我的环境而言,我是一家小型 GIS 公司的首席开发人员。我们主要使用 Python 脚本,偶尔使用 .Net 编写的插件工具。这里有几个其他人使用 Python 脚本,并且也将在版本控制下工作。最近,我开始开发我的第一个 Web 应用程序 (HTML/Javascript),它也应该受版本控制。我们都在严格的 Windows 环境中工作,同时使用专有和开源软件和 API。
我有两个问题:
- 如果我已经了解 Subversion,是否值得花时间和精力学习和实现 Git?
- 使用 Subversion 后学习 Git 的最佳资源是什么?我如何快速入门?
问题 1a。学习 Git 值得花时间和精力吗?
是的,它是一个非常流行的 VCS,也是 DVCS 的典范。每天花超过 5 分钟思考源代码控制的任何人都应该至少看一看 GIT,看看它能提供什么,它的优点和缺点。
问题 1b:是否值得花时间和精力实现 Git?
Git 和 Subversion 的根本区别在于 Git 是分布式版本控制系统,而 Subversion 不是。因此,除非您的工作流程涉及到有人与您不在同一地点但在同一代码库上工作,否则 SVN 应该几乎可以满足您所有的 SCM 需求。
因为炒作而迁移到 Git 不是一个明智的决定,此外,Git 工作流程与 Subversion 有很大不同,它需要您的团队习惯它,这有时对许多开发人员来说是一个陡峭的学习曲线
问题 2:学习 Git 的最佳资源
这确实是主观的,但正如@Lucas 提到的,Git 手册是一个很好的开始。我的以下建议按优先顺序排列: