发布存储库以实现协作

已完成

你已了解 Git 如何让你跟踪对 Bicep 代码所做的更改。 在本单元中,你将了解 Git 如何支持与团队成员协作。

注意

本单元中显示的命令用于说明概念。 请暂时不要运行这些命令。 稍后你将练习在此处学到的知识。

GitHub 和 Azure Repos 是什么?

Git 是在你自己的计算机上安装并运行的软件。 正如你所了解的,Git 会跟踪对文件所做的更改。 它支持分支等功能。

GitHub 和 Azure Repos 都是联机服务,可以保留存储库的副本并实现协作开发。 注册 GitHub 或 Azure Repos 后,便可以继续使用已使用过的相同命令来使用 Git。 你继续处理本地 Git 存储库。 不同之处在于,你可以将本地 Git 存储库与联机存储库进行同步。 你还可以向其他人授予对联机存储库的访问权限,并可以控制他们是否可以读取或修改代码。

注意

Azure Repos 是 Azure DevOps 的一项功能。 使用 Azure Repos 时,请使用 Azure DevOps 网站。

在团队环境中,团队中的每个人都可以维护自己的本地 Git 存储库,并将其与联机副本同步。 在大多数情况下,联机副本将成为团队的事实来源。

在将来的模块中,你将了解如何通过自动化部署管道部署 Bicep 代码。 管道要求将代码存储在联机存储库中。 管道也从是从联机存储库访问代码的。

注意

GitHub 和 Azure DevOps 都是托管 Git 存储库的良好选择。 你的组织可能已经使用了其中一种。 如果还没有首选项,我们建议使用 GitHub,因为它通常更容易入门。

本地和远程存储库

使用托管在 GitHub 或 Azure DevOps 中的存储库时,可以将本地 Git 存储库配置为了解远程存储库。 联机存储库具有一个 URL,Git 可以使用该 URL 从计算机访问它。 通常,术语“源”是指本地存储库与之进行同步的远程存储库。

还需要设置“跟踪分支”,告知 Git 本地存储库中的分支表示与联机存储库中相同的分支。 这跟踪对于“主”分支来说尤其重要,因为你想要在所有存储库中保持同步。 还可以在其他分支上启用跟踪。

注意

团队可能已经创建了你要查看或修改的存储库。 你可以通过 git clone 命令克隆联机存储库,快速获取存储库的副本。

配置本地存储库和跟踪分支后,可以将本地存储库的内容推送到远程存储库。 并且你还可以将远程存储库的更改拉取到本地存储库中。

注意

git pull 操作从远程存储库下载更改,然后合并更改 - 就像合并分支时一样。 有时,你只想从远程存储库下载更改,例如,想要更新本地存储库的远程分支列表时。 可以使用 git fetch 命令来实现该操作。

身份验证

开始使用联机存储库后,安全性变得非常重要。 基础结构和应用程序的源代码很有价值,需要加以保护。

GitHub 和 Azure DevOps 具有全面的安全流程。 它们都要求在开始使用其平台上托管的远程存储库之前进行身份验证。

首次尝试使用远程存储库时,系统会提示你登录 GitHub 或 Azure DevOps。 某些组织通过多重身份验证等额外的安全检查来保护其 Git 存储库。 登录后,Git 使用名为 Git 凭据管理器组件的来维护访问权限,这样你就不必每次都进行登录。

与他人协作

在 GitHub 或 Azure Repos 上设置 Git 存储库后,即可与他人协作。 有许多可用于与团队合作的功能。 你应了解的一项特定功能称为“拉取请求”,通常简称为 PR。

拉取请求实际上是两个分支的受控合并。 GitHub 或 Azure Repos 可以强制实施有关谁可以进行合并以及哪些类型的更改可以合并的策略。

典型的团队工作流涉及团队成员在分支上对代码进行更改,然后创建拉取请求,要求其他人将更改合并到主分支。 其他团队成员可以在 PR 中查看更改列表。 这些团队成员甚至可以提供有关更改的反馈,或在接受更改之前请求修订。 PR 提供了一种围绕团队代码进行质量控制的方法。

PR 和其他协作功能超出了本模块的范围,但我们在总结部分中提供了指向有关这些功能的信息的链接。