Close

迁移

本迁移指南主张在过渡期间从 SVN 到 Git 进行单向同步。这意味着,虽然您的团队已经习惯了 Git,但他们仍然应该只提交原来的 SVN 存储库。当您准备好进行切换时,无论处于什么状态,SVN 存储库都应该冻结。然后,开发人员应该开始提交到他们的本地 Git 存储库并通过 Bitbucket 共享。

/wac/git-microsite/images/tutorials/migrating/migrating-migrate/01.svg

从 SVN 到 Git 的离散切换实现了非常直观的迁移。您的所有开发人员都应该已经了解了他们将要使用的新 Git 工作流程,他们应该有足够的时间在从 Bitbucket 克隆的本地存储库上练习使用 Git 命令。

此页面将指导您完成迁移的最后一步。


同步 Git 存储库


在完成向 Git 的迁移之前,应确保您的 Git 存储库包含已提交到 SVN 存储库的所有新变更。您可以使用同步阶段中描述的相同流程来完成此操作。

git svn fetch
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force

备份 SVN 存储库

虽然您仍然可以在迁移的存储库中看到您的 Git 之前的项目历史记录,但最好备份 SVN 存储库,以防需要浏览原始 SVN 数据。备份 SVN 代码存储库的一种简单方法是在托管中央 SVN 存储库的计算机上运行以下命令。如果您的 SVN 代码存储库托管在 Linux 计算机上,则可以使用以下内容:

svnadmin dump  | gzip -9 > 
数据库
相关资料

如何移动完整的 Git 存储库

Bitbucket 徽标
查看解决方案

了解 Bitbucket Cloud 的 Git

Replace svn-repo with the file path of the SVN repository that you backing up, and replace backup-file with the file path of the compressed file containing the backup.

将 SVN 存储库设为只读

您所有的开发人员现在都应该使用 Git 了。要强制执行此约定,可以将 SVN 存储库设为只读。此流程可能因服务器设置而异,但是如果您使用的是 svnserve 守护进程,则可以通过编辑 SVN 代码存储库的 conf/svnserve.conf 文件来完成此操作。它的 [general] 部分应包含以下几行:

anon-access = read auth-access = read

这告诉 svnserve 匿名用户和经过身份验证的用户都只有读取权限。

摘要


这就是将项目迁移到 Git 的全部内容。您的团队现在应该使用纯粹的 Git 工作流程进行开发,并享受分布式开发的所有好处。干得好!


分享此文章

推荐阅读

将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。

人们通过满是工具的墙进行协作

Bitbucket 博客

Devops 示意图

DevOps 学习路径

与 Atlassian 专家一起进行 Den 功能演示

Bitbucket Cloud 与 Atlassian Open DevOps 如何协同工作

注册以获取我们的 DevOps 新闻资讯

Thank you for signing up