分享
在 SVN 中,开发人员通过将变更从本地计算机上的工作副本提交到中央存储库来共享贡献。然后,其他开发人员将这些更新从中央代码存储库提取到他们自己的本地工作副本中。
Git 的协作工作流程有很大不同。Git 没有区分工作副本和中央存储库,而是为每个开发人员提供自己的整个存储库的本地副本。变更将提交到此本地存储库而不是中央存储库。要与其他开发人员共享更新,您需要将这些本地变更推送到服务器上的公共 Git 存储库。然后,其他开发人员可以将您的新提交从公共代码存储库提取到他们自己的本地存储库中。
为每个开发人员提供自己的完整存储库是分布式版本控制的核心,它开辟了各种潜在的工作流程。您可以在我们的 Git 工作流程部分阅读有关这些工作流程的更多信息。
到目前为止,您只使用了本地 Git 存储库。本页介绍如何将此本地代码存储库推送到 Bitbucket 上托管的公共存储库。在迁移期间共享 Git 存储库可让您的团队在不影响其活跃 SVN 开发的情况下试用 Git 命令。在准备好进行切换之前,将共享的 Git 存储库视为只读非常重要。所有开发都应继续提交到原始的 SVN 存储库中。
创建一个 Bitbucket 帐户
如果您还没有 Bitbucket 帐户,则需要创建一个。最多可免费托管 5 个用户,因此您可以立即开始尝试新的 Git 工作流程。
创建 Bitbucket 存储库
接下来,您需要创建一个 Bitbucket 存储库。Bitbucket 使通过网络界面管理托管存储库变得非常容易。您要做的就是在登录后单击“创建存储库”按钮。

在生成的表单中,为您的存储库添加名称和描述。如果您的项目是私有项目,请选中“访问级别”选项,这样只有指定的开发人员才能克隆项目。对于拷贝字段,使用仅允许私有拷贝。使用 Git 作为存储库类型,选择要使用的任何项目管理工具,然后在语言字段中选择项目的主要编程语言。

要创建托管存储库,请单击创建存储库按钮提交表单。设置好存储库后,您将看到后续步骤页面,其中描述了一些用于导入现有项目的有用命令。本页的其余部分将逐步引导您完成这些说明。
添加原始远程
为了更轻松地将提交从本地 Git 存储库推送到您刚刚创建的 Bitbucket 存储库,您应该在远程存储库中记录 Bitbucket 存储库的 URL。远程存储库只是 URL 的便捷快捷方式。从技术上讲,您可以使用任何您喜欢的快捷方式,但是如果远程存储库充当项目的官方代码库,它通常作为 origin 引用。在本地 Git 存储库中运行以下命令,将新的 Bitbucket 存储库添加为 origin 远程存储库。
git remote add origin https://<username>@bitbucket.org/<workspace-id>/<repo>.git务必将 <username> 更改为您的 Bitbucket 用户名,<workspace-id> 更改为您的工作区 ID,<repo> 更改为 Bitbucket 存储库的名称。您还应该能够从 Bitbucket Web 界面复制和粘贴完整的 URL。
运行上述命令后,您可以在其他 Git 命令中使用 origin 来引用您的 Bitbucket 存储库。
将本地存储库推送到 Bitbucket
接下来,您需要使用本地 Git 存储库的内容填充您的 Bitbucket 存储库。这称为“推送”,可以使用以下命令完成:
git push -u origin --all-u 选项告诉 Git 跟踪上游分支。这使得 Git 能够告诉您远程代码存储库的提交历史记录是在您的本地提交历史记录之前还是之后。--all 选项将所有本地分支推送到远程存储库。
您还需要使用 --tags 选项将本地标记推送到 Bitbucket 存储库:
git push --tags现在,您的 Bitbucket 存储库本质上是本地存储库的克隆。在 Bitbucket 网页界面中,您应该能够浏览所有分支的完整提交历史记录。
与您的团队共享存储库
您现在要做的就是与需要访问该存储库的任何其他开发人员共享您的 Bitbucket 存储库的 URL。任何 Git 存储库的 URL 都可以从 Bitbucket 的存储库主页复制粘贴:

如果您的存储库是私有的,则还需要在 Bitbucket Web 界面的管理选项卡中向团队成员授予访问权限。可以通过单击左侧边栏中的访问管理链接来管理用户和群组。

作为替代方案,您可以使用 Bitbucket 的内置邀请功能邀请其他开发人员拷贝存储库。被邀请的用户将自动获得访问存储库的权限,因此您无需担心授予权限。
获得您的存储库 URL 后,其他开发人员就可以使用 git clone 将存储库复制到他们的本地计算机上,然后开始处理该项目。例如,在他们的本地计算机上运行以下命令后,另一位开发人员将在名为<repo> 的目录中找到一个包含该项目的新 Git 存储库。
git clone https://<username>@bitbucket.org/<workspace-id>/<repo>.git继续使用 SVN 提交,而不是 Git
您现在应该能够将本地项目推送到远程存储库,并且您的团队应该能够使用该远程存储库将项目克隆到他们的本地计算机上。这些都是开始与 Git 协作所需的全部工具。但是,您和您的团队应该继续使用 SVN 提交变更,直到所有人都准备好进行切换。
Git 存储库的唯一变更应来自使用上一页讨论的同步流程的原始 SVN 存储库。无论出于何种意图和目的,这意味着您的所有 Git 存储库(本地和远程)都是只读的。您的开发人员可以试用它们,您可以开始将它们集成到您的构建流程中,但您应该避免使用 Git 提交任何永久性变更。
摘要
在此步骤中,您将设置一个 Bitbucket 存储库,以便与其他开发人员共享转换后的 Git 存储库。现在,您应该拥有实现 Git 工作流程中描述的任何 Git 工作流程所需的所有工具。只要让开发团队熟悉 Git,您就可以继续与 SVN 存储库同步,并通过 Bitbucket 共享生成的 Git 提交。然后,您可以通过退出 SVN 存储库来完成迁移流程。