使用git-svn相比于普通的svn客户端有哪些优势?

6

最近有许多帖子建议,如果你必须使用 SVN 存储库进行团队开发,那么 git 是比 svn 更好的客户端:

这些文章似乎关注的是如何,而不是为什么。 帮我说服自己、老板和同事,使用 git-svn 比官方的 SVN 客户端更有优势!

注意:Git 和 SVN 的相对优点已经得到了很好的解决。在这个问题上,我更关心使用 stipulated SVN 存储库的哪个客户端。

2个回答

5
对我来说,使用git-svn(和CVS桥接器)的主要优势是:
  • 本地浏览历史记录和使用git-blame功能,
  • 在离线状态下也可以完全进行版本控制,例如在火车上,
  • 可以充分利用暂存区/索引,例如仅对特定行进行操作,
  • 只有当我满意时才需要发布更改(即我尝试了某些东西并且它起作用,或者我使历史记录连贯),
  • 可以轻松传递补丁序列以供审核。
作为额外的福利,git与SVN和CVS的接口允许我选择退出争论:我们应该将我们的CVS存储库转换为Subversion(已经持续了3年以上),或者立即采用一些非常酷和花哨的东西(已经持续了2年以上)。
你真的不需要管理决策来确定开发人员应该使用什么。用于中央存储库的工具可能会受到其他因素的驱动(例如构建、审核和测试基础设施)。

4
对我来说,重点在于本地分支。当我准备开始开发BigNewFeature时,我可以使用git创建一个新的分支(本地),并开始工作,每一步都可以按照自己的意愿进行提交。然后,当有人必须打扰我工作BigNewFeature并要求我修复SmallTypo时,我可以切换到主分支,修复拼写错误,然后将其推送到svn。之后我再回到我的BigNewFeature分支继续工作。
这些便宜的本地分支为开发人员提供了很多灵活性,而在处理svn分支和合并时则无法获得这种灵活性。我不怕快速分支和试验。然后当我对结果感到满意时,我可以将任何我喜欢的东西合并回主分支,并将其推送到SVN中一组干净、易于区分的提交中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接