4

我目前在一个团队工作,我们正在“使用”一个颠覆存储库。我说“使用”,因为实际上,每个人都只是通过 samba 共享直接在服务器上编辑文件,而我们的架构师每隔一段时间就会从该服务器提交我们的更改,然后将其推送到服务器。

所以基本上我们错过了能够从不同用户那里获得有意义的提交消息,并且能够尽可能频繁地提交。

我一直在尝试激发对分布式系统的兴趣,以及我们拥有的工作流程似乎可以用 git 之类的东西很好地设置(我们在本地机器上提交,然后将变更集推送给他以供审查)但是我觉得我对 git 的经验不够。我的大部分 DVCS 经验都与 mercurial 相关。

每个人几乎都在使用 tortoisesvn 在 Windows 环境中工作,这就是他们习惯于与系统交互的方式,但他们偶尔会使用 PuTTY 在其中一台 linux 服务器上工作,并且知道如何进行命令行提交。

解决方法是什么,我已经看到一些在 SVN 和一些 DVCS 之间创建网关的工作,有没有人有在这样的环境中设置和工作的经验?

从 SVN 到 DVCS 的全面迁移怎么样?

4

9 回答 9

20

如果你的团队不能很好地理解如何使用颠覆,我不知道你将如何让他们理解 git。尤其是因为他们的心态是“让所有人都在同一个工作副本中工作”,他们将很难掌握分布式版本控制系统。

以我的经验,要使用 svn-git,你必须知道如何使用 git 并且你必须知道如何使用 svn。我建议教他们正确使用 svn。

于 2009-05-02T01:43:50.463 回答
11

您是否有理由不想只保留您的 SVN 存储库,并以 SVN 的预期使用方式使用它?

为什么不让每个人都签入和合并、使用分支等?如果您有存储库设置,为什么要切换?

于 2009-05-01T23:15:36.450 回答
6

您所描述的问题似乎主要与提交代码的适当程序和协议有关。获得不同的产品不会改变人们的工作方式。你需要先教育他们。向他们展示如何将事情做得更好。

另一方面,我不明白你如何使用 tortoiceCVS 与 SVN 交互。

于 2009-05-01T23:17:12.920 回答
4

对我来说,版本控制系统的选择听起来不是问题。你需要做的是让架构师相信他需要提出一些合理的政策来使用修订控制系统。

您当前的 svn 系统就足够了;如果您需要保持主干清洁,让用户创建分支。架构师可以根据需要合并它们。

现在,您可以移动 OA DVCS,并且有充分的理由这样做。但是,如果团队不习惯使用客户端/服务器 rcs,那么这可能具有挑战性。您可以在本地使用 git 或 hg ,但这些是从根本上破坏 rcs 使用的解决方法。我的建议是让每个人都先使用 svn。

在 samba 共享上编辑文件?严重地?!

于 2009-05-02T05:15:53.527 回答
3

git-svn绝对是你最好的选择。您将能够使用 git 的所有本地版本控制和更改审查功能,但最终可以将“最终”签入推送到您现有的 svn 存储库。

这具有令人敬畏的副作用,可以让您的团队一次用 git 弄湿他们的脚(既因为您可以在购买前尝试,又因为您仍然可以使用任何现有的部署/维护流程)已经使用 SVN 开发)。

还有一个很好的 svn 用户 git 语法速成课程,您可以使用它来让您的团队加快速度。

于 2009-05-01T23:43:33.357 回答
3

您的问题不是 SVN 本身,而是没有正确使用它。

于 2009-05-02T05:27:47.337 回答
2

hg 也非常擅长使用 subversion - 请参阅https://www.mercurial-scm.org/wiki/WorkingWithSubversion。Python 核心开发团队刚刚决定从 Subversion 切换到 Mercurial(经过长时间的讨论和考虑 git 和 bazaar 的时间);在一个不相关的开发中,code.google.com 的开源项目免费托管服务在其长期支持 svn 的基础上增加了 hg 支持。

于 2009-05-02T01:33:40.503 回答
2

正如 Steve Yegge 所说:TOOOOOLS

正如其他人所说,如果你不能让他们使用 svn,他们就不会使用分布式 vcs。

他们使用 IDE 吗?如果是这样,请为 IDE 找到易于使用 svn 的插件。因此,他们可以右键单击 IDE 中的文件或文件夹并签入。如果您使在本地副本上使用源代码控制比直接访问中央文件更容易,您可能会有机会。然后你可以使用 TortoiseSVN 来完成更复杂的任务。

一些流行 IDE 的 SVN 插件链接可帮助您入门:

来自 subversion 网站的 IDE 插件列表。

于 2009-05-04T16:39:24.570 回答
0

git 和 bazaar 都对 svn 有很好的支持。事实上 git-svn 在过去几个月里已经成熟了很多。

试试 git,因为 DVCS 真的很好,而且不像你说的那么难。

于 2009-05-01T23:24:31.017 回答