

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

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

# 排查源存储库的问题
<a name="troubleshooting-source"></a>

以下信息可以帮助您解决中源存储库的常见问题 CodeCatalyst。

**Topics**
+ [我已达到空间的最大存储量并看到警告或错误](#source-troubleshoot-storage)
+ [我在尝试克隆或推送到 Amazon CodeCatalyst 源存储库时收到错误消息](#source-troubleshoot-clone)
+ [我在尝试提交或推送到 Amazon CodeCatalyst 源存储库时收到错误消息](#source-troubleshoot-commit-code)
+ [我的项目需要一个源存储库](#source-troubleshoot-need-repository)
+ [我的源存储库是全新的，但包含一个提交](#source-troubleshoot-initial-commit)
+ [我想要一个不同的分支作为默认分支](#source-troubleshoot-default-branch)
+ [我收到关于拉取请求中活动的电子邮件](#source-troubleshoot-repository-emails)
+ [我忘记了我的个人访问令牌（PAT）](#source-troubleshoot-forgot-pat)
+ [拉取请求不显示我期望的更改](#source-troubleshoot-pull-request-diff)
+ [拉取请求的状态显示为“不可合并”](#source-troubleshoot-pull-request-not-mergeable)

## 我已达到空间的最大存储量并看到警告或错误
<a name="source-troubleshoot-storage"></a>

**问题：**我想向中的一个或多个源代码库提交代码 CodeCatalyst，但我看到了错误。控制台中的源存储库页面上显示一条消息，指示我已达到空间的存储限制。

**可能的修复方法：**根据您在项目或空间中的角色，您可以缩小一个或多个源存储库的大小，删除未使用的源存储库，或者将计费套餐更改为具有更多存储量的计费套餐。
+ 要缩小项目中源存储库的大小，可以删除未使用的分支。有关更多信息，请参阅[删除分支](source-branches-delete.md)和[贡献者角色](ipa-role-types.md#ipa-role-contributor)。
+ 要减少空间的总体存储量，可以删除未使用的源存储库。有关更多信息，请参阅[删除源存储库](source-repositories-delete.md)和[项目管理员角色](ipa-role-types.md#ipa-role-project-admin)。
+ 要增加空间的可用存储量，您可以将计费套餐更改为具有更多存储量的计费套餐。有关更多信息，请参阅《Amazon CodeCatalyst 管理员指南》中的[更改 CodeCatalyst 账单等级](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-billing-change-plan.html)。

## 我在尝试克隆或推送到 Amazon CodeCatalyst 源存储库时收到错误消息
<a name="source-troubleshoot-clone"></a>

**问题：**当我尝试将源存储库克隆到本地计算机或集成式开发环境（IDE）时，出现权限错误。

**可能的修复方法：**您的 AWS 建筑商 ID 可能没有个人访问令牌 (PAT)，可能没有使用 PAT 配置凭证管理系统，或者您的 PAT 可能已过期。尝试以下一种或多种解决方案：
+ 创建个人访问令牌（PAT）。有关更多信息，请参阅 [使用个人访问令牌向用户授予对存储库的访问权限](ipa-tokens-keys.md)。
+ 确保您已接受加入包含源存储库的项目的邀请，并且您仍然是该项目的成员。如果您不是该项目的活跃成员，则无法克隆源存储库。登录控制台，并尝试导航到您试图克隆源存储库的空间和项目。如果您在空间的项目列表中看不到该项目，则说明您不是该项目的成员，或者您尚未接受加入该项目的邀请。有关更多信息，请参阅 [接受邀请并创建 AWS 建筑商 ID](sign-up-sign-in.md)。
+ 确保您的克隆命令格式正确，并包含您的 AWS 生成器 ID。例如：

  ```
  https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  ```
+ 使用 AWS CLI 来确保您的 PAT 与您的 AWS 建筑商 ID 相关联，并且未过期。如果您没有 PAT 或 PAT 已过期，请创建一个。有关更多信息，请参阅 [使用个人访问令牌向用户授予对存储库的访问权限](ipa-tokens-keys.md)。
+ 尝试创建一个开发环境来处理源存储库中的代码，而不是将其克隆到本地存储库或 IDE。有关更多信息，请参阅 [创建开发环境](devenvironment-create.md)。

## 我在尝试提交或推送到 Amazon CodeCatalyst 源存储库时收到错误消息
<a name="source-troubleshoot-commit-code"></a>

**问题：**当我尝试推送到源存储库时，出现权限错误。

**可能的修复方法：**您在项目中可能没有可让您向项目提交和推送代码更改的角色。查看您在试图将更改推送到源存储库的项目中的角色。有关更多信息，请参阅[获取成员及其项目角色的列表](projects-members.md#projects-members-view)和[使用用户角色授予访问权限](ipa-roles.md)。

如果您的角色可让您提交和推送更改，那么您尝试提交更改的分支可能配置有一个分支规则，阻止您将代码更改推送到该分支。尝试创建一个分支，然后将代码推送到该分支。有关更多信息，请参阅 [使用分支规则管理分支允许的操作](source-branches-branch-rules.md)。

## 我的项目需要一个源存储库
<a name="source-troubleshoot-need-repository"></a>

**问题：**我的项目要么没有源存储库，要么我的项目需要另一个源存储库。

**可能的修复方法：**有些项目是在没有任何资源的情况下创建的。如果您是该项目的成员，则可以在中为该项目创建源存储库 CodeCatalyst。如果拥有 **Space 管理员**角色的用户安装了**GitHub 存储库**并将其关联到 GitHub 帐户，那么如果您具有项目**管理员角色，则可以链接到可用的 GitHub 存储库以将其添加到您的项目**中。有关更多信息，请参阅[创建源存储库](source-repositories-create.md)和[链接源存储库](source-repositories-link.md)。

## 我的源存储库是全新的，但包含一个提交
<a name="source-troubleshoot-initial-commit"></a>

**问题：**我刚刚创建了一个源存储库。该源存储库应该是空的，但其中包含一个提交、一个分支和一个 `README.md` 文件。

**可能的修复方法：**这是预期的行为。中的所有源存储库都 CodeCatalyst 包含初始提交，该提交将默认分支设置为`main`并包含示例代码（如果存储库是使用包含示例代码的蓝图为项目创建的）或存储库 README 文件的模板 markdown 文件。您可以在控制台和 Git 客户端中创建其它分支。您可以在控制台中创建和编辑文件，也可以在开发环境和 Git 客户端中删除文件。

## 我想要一个不同的分支作为默认分支
<a name="source-troubleshoot-default-branch"></a>

**问题：**我的源存储库有一个名为 `main` 的默认分支，但我想要一个不同的分支作为默认分支。

**可能的修复方法：**您无法在中更改或删除源存储库中的默认分支 CodeCatalyst。您可以创建其它分支，并在工作流的源操作中使用这些分支。您也可以选择链接 GitHub 存储库并将其用作项目的存储库。

## 我收到关于拉取请求中活动的电子邮件
<a name="source-troubleshoot-repository-emails"></a>

**问题：**我没有注册或配置关于拉请求活动的电子邮件通知，但我还是收到了相关通知。

**可能的修复方法：**自动发送关于拉取请求活动的电子邮件通知。有关更多信息，请参阅 [在 Amazon 中使用拉取请求查看代码 CodeCatalyst](source-pull-requests.md)。

## 我忘记了我的个人访问令牌（PAT）
<a name="source-troubleshoot-forgot-pat"></a>

**问题：**我一直在使用 PAT 来克隆、推送和拉取源存储库的代码，但我失去了令牌的价值，也无法在 CodeCatalyst 控制台中找到它。

**可能的修复方法：**解决此问题的最快方法是创建另一个 PAT，并将您的凭证管理器或 IDE 配置为使用这个新的 PAT。我们仅在您创建 PAT 时显示其值。如果您丢失该值，则无法检索它。有关更多信息，请参阅 [使用个人访问令牌向用户授予对存储库的访问权限](ipa-tokens-keys.md)。

## 拉取请求不显示我期望的更改
<a name="source-troubleshoot-pull-request-diff"></a>

**问题：**我创建了一个拉取请求，但我看不到源分支和目标分支之间预期的变化。

**可能的修复方法：**这可能是由许多问题引起的。尝试以下一种或多种解决方案：
+ 您可能正在查看旧修订版之间的更改，也可能没有查看最新更改。刷新浏览器，确保选择了要查看的修订版之间的比较。
+ 并非拉取请求中的所有更改都可以在控制台中显示。例如，您无法在控制台中查看 Git 子模块，因此无法在拉取请求中查看子模块中的差异。有些差异可能太大而无法显示。有关更多信息，请参阅[中的源存储库配额 CodeCatalyst](source-quotas.md)和[查看文件查看文件更改历史记录](source-files-view.md)。
+ 拉取请求会显示合并基准与您选择的任何修订版之间的差异。在创建拉取请求时，为您显示的差异是源分支最新块与目标分支最新块之间的差异。创建拉取请求后，显示的差异是修订版与其合并基准之间的差异。合并基准是在创建修订版时作为目标分支最新块的提交。合并基准可在不同修订版之间发生变化。有关 Git 中的差异和合并基础的更多信息，请参阅 Git 文档[git-merge-base](https://git-scm.com/docs/git-merge-base)中的。

## 拉取请求的状态显示为“不可合并”
<a name="source-troubleshoot-pull-request-not-mergeable"></a>

**问题：**我想合并拉取请求，但其状态显示为**不可合并**。

**可能的修复方法：**这可能是由一个或多个问题引起的：
+ 拉取请求的所有必需的审阅者都必须批准拉取请求，然后才能合并请求。查看必需的审阅者列表中是否有在姓名旁边显示时钟图标的任何审阅者。时钟图标表示该审阅者尚未批准拉取请求。
**注意**  
如果在批准拉取请求之前从您的项目中移除了必需的审阅者，则无法合并拉取请求。关闭该拉取请求并创建新的拉取请求。
+ 源分支和目标分支之间可能存在合并冲突。 CodeCatalyst 不支持所有可能的 Git 合并策略和选项。您可以在开发环境中评估分支是否存在合并冲突，也可以克隆存储库，并使用 IDE 或 Git 工具来查找和解决合并冲突。有关更多信息，请参阅 [合并拉取请求](pull-requests-merge.md)。