

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 源存储库概念
<a name="source-concepts"></a>

以下是您在使用 CodeCatalyst 源存储库时需要了解的一些概念。

**Topics**
+ [Projects](#project-concept)
+ [源存储库](#source-repository-concept)
+ [开发环境](#devenvironment-concept)
+ [个人访问令牌 (PATs)](#personal-access-token-concept)
+ [Branches](#branches-concept)
+ [默认分支](#default-branch-concept)
+ [提交](#commits-concept)
+ [拉取请求](#pull-request-concept)
+ [修订](#revision-concept)
+ [工作流](#workflow-concept)

## Projects
<a name="project-concept"></a>

*项目*代表一种为开发团队和任务提供支持的协作努力。 CodeCatalyst 在拥有项目后，可以添加、更新或移除用户和资源，自定义您的项目控制面板以及监控团队的工作进度。一个空间内可以有多个项目。

源存储库特定于您在空间中创建或链接源存储库的项目。您不能在项目之间共享存储库，也不能将一个存储库链接到一个空间中的多个项目。在项目中具有**贡献者**或**项目管理员**角色的用户，可以根据授予给这些角色的权限，与该项目关联的源存储库进行交互。有关更多信息，请参阅 [使用用户角色授予访问权限](ipa-roles.md)。

## 源存储库
<a name="source-repository-concept"></a>

*源存储库*用于安全地存储项目的代码和文件。它还存储文件的版本历史记录。默认情况下，源存储库与 CodeCatalyst 项目中的其他用户共享。一个项目可以有多个源存储库。您可以为中的项目创建源存储库 CodeCatalyst，也可以选择链接其他服务托管的现有源存储库（如果已安装的扩展程序支持该服务）。例如，在安装 GitHub 存储库扩展之后，您可以将**GitHub 存储库**链接到项目。有关更多信息，请参阅[将源代码存储在项目的存储库中 CodeCatalyst](source-repositories.md)和[快速入门：安装扩展、连接提供商和链接资源 CodeCatalyst](extensions-quickstart.md)。

## 开发环境
<a name="devenvironment-concept"></a>

*开发环境*是一种基于云的开发环境，您可以使用它 CodeCatalyst 来快速处理存储在项目源存储库中的代码。开发环境中包含的项目工具和应用程序库由项目的源存储库中的 devfile 定义。如果您的源存储库中没有 devfile，系统会自动应用默认的 devfile。默认 devfile 包括适用于最常用的编程语言和框架的工具。默认情况下，为开发环境配备了双核处理器、4 GB RAM 和 16 GiB 持久性存储。

您可以选择将源存储库的现有分支克隆到开发环境中，也可以选择在创建开发环境时创建一个新分支。

## 个人访问令牌 (PATs)
<a name="personal-access-token-concept"></a>

*个人访问令牌*（PAT）类似于密码。它与您的用户身份相关联，可在中的所有空间和项目中使用 CodeCatalyst。您可以使用 PATs 访问包括集成开发环境 (IDEs) 和基于 Git 的源存储库在内的 CodeCatalyst 资源。 PATs 代表你 CodeCatalyst ，你可以在用户设置中对其进行管理。一个用户可以有多个 PAT。个人访问令牌仅显示一次。最佳实践是，务必将 PAT 安全地存储在本地计算机上。默认情况下，一年后 PATs 过期。

使用集成开发环境 (IDEs) 时，等同 PATs 于 Git 密码。在设置 IDE 与 Git 存储库协同工作时，如果要求输入密码，请提供 PAT。有关如何将 IDE 与基于 Git 的存储库连接的更多信息，请参阅 IDE 的文档。

## Branches
<a name="branches-concept"></a>

*分支*是指向 Git 和中的提交的指针或引用 CodeCatalyst。您可以使用分支来组织您的工作。例如，您可以使用分支来处理文件的新版本或不同版本，而不会影响其他分支中的文件。您可以使用分支来开发新功能、存储项目的特定版本等。一个源存储库可以有一个或多个分支。使用模板创建项目时，为项目创建的源存储库会在名为 **main** 的分支中包含示例文件。**main** 分支是存储库的默认分支。

## 默认分支
<a name="default-branch-concept"></a>

无论您如何创建，中的源存储库都 CodeCatalyst 有一个默认分支。如果您选择使用模板创建项目，在为该项目创建的源存储库中，除了示例代码、工作流定义和其他资源以外，还包括一个 README.md 文件。如果创建源存储库时没有使用模板，则会在第一次提交时为您添加 README.md 文件，并在创建源存储库时为您创建默认分支。该默认分支名为 *main*。此默认分支在用户克隆存储库时被用作本地存储库的基本或默认分支。您可以更改将哪个分支用作默认分支。有关更多信息，请参阅 [管理存储库的默认分支](source-branches-default-branch.md)。

您不能删除源存储库的默认分支。搜索结果只包括默认分支的结果。

## 提交
<a name="commits-concept"></a>

*提交*是对一个或一组文件所做的更改。在 Amazon CodeCatalyst 控制台中，提交会保存您的更改并将其推送到源存储库。提交包含有关更改的信息，包括执行了更改的用户的身份、更改的时间和日期、提交标题以及包含的有关更改的任何消息。有关更多信息，请参阅 [通过在 Amazon 中提交来了解源代码的变化 CodeCatalyst](source-commits.md)。

在中的源存储库的上下文中 CodeCatalyst，提交是存储库内容和内容更改的快照。您还可以为提交添加 Git 标签，用于标识特定提交。

## 拉取请求
<a name="pull-request-concept"></a>

*拉取请求*是您和其他用户在源存储库中审查、评论和合并从一个分支到另一个分支的代码更改的主要方式。您可以使用拉取请求来协同审查代码更改，包括次要的更改或修复、主要功能添加或已发布软件的新版本。在拉取请求中，您可以查看源分支和目标分支之间的更改，或这些分支修订版之间的差异。您可以为单行代码更改添加注释，也可以为整个拉取请求添加注释。

**提示**  
在创建拉取请求时，显示的差异是源分支最新块与目标分支最新块之间的差异。创建拉取请求后，显示的差异将是您选择的拉取请求修订版与创建拉取请求时目标分支最新块的提交之间的差异。有关 Git 中的差异和合并基础的更多信息，请参阅 Git 文档[git-merge-base](https://git-scm.com/docs/git-merge-base)中的。

## 修订
<a name="revision-concept"></a>

*修订版*是拉取请求的更新版本。每次向拉取请求的源分支推送，都会创建一个修订版，其中包含该推送中包含的提交所做的更改。除了源分支和目标分支之间的差异外，您还可以查看拉取请求修订版之间的差异。有关更多信息，请参阅 [在 Amazon 中使用拉取请求查看代码 CodeCatalyst](source-pull-requests.md)。

## 工作流
<a name="workflow-concept"></a>

*工作流*是一个自动化过程，它描述了如何在持续集成和持续交付（CI/CD）系统中构建、测试和部署代码。工作流定义了在工作流运行期间要执行的一系列步骤，也称为*操作*。工作流还定义了促使工作流启动的事件或*触发器*。要设置工作流程，您可以使用 CodeCatalyst 控制台[的可视化或 YAML 编辑器](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)创建*工作流程定义文件*。

**提示**  
要快速了解如何在项目中使用工作流，请[使用蓝图创建项目](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)。每个蓝图都部署了一个可以正常运行的工作流，您可以对工作流进行查看、运行和试验。

源存储库还可以存储工作流、通知、事务的配置文件和其他信息，以及项目的其他配置信息。在创建需要配置文件的资源时，或将存储库指定为工作流的源操作时，会创建配置文件并将其存储在源存储库中。如果根据蓝图创建项目，配置文件已作为项目的一部分，存储在为您创建的源存储库中。这些配置信息存储在存储库默认分支中名为 `.codecatalyst` 的文件夹中。在创建默认分支的分支时，除了该分支中的所有其他文件和文件夹之外，还会创建该文件夹及其配置的副本。