分享
在 SVN 中,开发人员通过将变更从本地计算机上的工作副本提交到中央存储库来共享贡献。然后,其他开发人员将这些更新从中央代码存储库提取到他们自己的本地工作副本中。
Git’s collaboration workflow is much different. Instead of differentiating between working copies and the central repository, Git gives each developer their own local copy of the entire repository. Changes are committed to this local repository instead of a central one. To share updates with other developers, you need to push these local changes to a public Git repository on a server. Then, the other developers can pull your new commits from the public repo into their own local repositories.
创建 Bitbucket 存储库
接下来,您需要创建一个 Bitbucket 存储库。Bitbucket 使通过网络界面管理托管存储库变得非常容易。您要做的就是在登录后单击“创建存储库”按钮。
在生成的表单中,为您的存储库添加名称和描述。如果您的项目是私有项目,请选中“访问级别”选项,这样只有指定的开发人员才能克隆项目。对于拷贝字段,使用仅允许私有拷贝。使用 Git 作为存储库类型,选择要使用的任何项目管理工具,然后在语言字段中选择项目的主要编程语言。
相关资料
如何移动完整的 Git 存储库
查看解决方案
了解 Bitbucket Cloud 的 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
选项将所有本地分支推送到远程存储库。
You also need to push your local tags to the Bitbucket repository with the --tags option:
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 存储库来完成迁移流程。
分享此文章
下一主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。