

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

# 编辑 Amazon CodeCommit 存储库中文件的内容
<a name="how-to-edit-file"></a>

您可以使用 CodeCommit 控制台 Amazon CLI、或 Git 客户端来编辑 CodeCommit 仓库中文件的内容。

**Topics**
+ [编辑文件（控制台）](#how-to-edit-file-console)
+ [编辑或删除文件 (Amazon CLI)](#how-to-edit-file-cli)
+ [编辑文件 (Git)](#how-to-edit-file-git)

## 编辑文件（控制台）
<a name="how-to-edit-file-console"></a>

您可以使用 CodeCommit 控制台编辑已添加到 CodeCommit存储库中分支的文件。在编辑文件过程中，可以提供您的用户名和电子邮件地址。您还可以添加提交消息，以便其他用户了解谁执行了更改以及原因。

**编辑存储库中的文件**

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.amazonaws.cn/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在**存储库**中，选择要编辑其中的文件的存储库。

1. 在**代码**视图中，选择要编辑文件的分支。默认情况下，在您打开**代码**视图时，将显示默认分支的内容。

   要将视图更改到不同的分支，请选择视图选择器按钮。从下拉列表中选择分支名称，或者在筛选器框中输入分支名称，然后从列表中选择该名称。

1. 导航分支内容并选择要编辑的文件。在文件视图中，选择**编辑**。
**注意**  
如果您选择二进制文件，将显示一条警告消息，要求您确认要显示其内容。不应使用 CodeCommit 控制台编辑二进制文件。

1. 编辑该文件，并向其他用户提供有关谁执行了此更改以及原因的信息。
   + 在**作者姓名**中，输入您的姓名。在提交信息中，此名称既用作作者姓名，也用作提交者姓名。 CodeCommit 默认使用您的 IAM 用户名或控制台登录的派生形式作为作者姓名。
   + 在**电子邮件地址**中，输入一个电子邮件地址，以便其他存储库用户可以就此更改与您联系。
   + 在**提交消息**中，输入您的更改的简要描述。

1. 选择 **Commit changes (提交更改)** 以保存对文件所做的更改并将更改提交到存储库。

## 编辑或删除文件 (Amazon CLI)
<a name="how-to-edit-file-cli"></a>

您可以使用 Amazon CLI 和**put-file**命令对 CodeCommit 存储库中的文件进行更改。如果您希望将更改的文件存储在一个不同于原始位置的位置，还可以使用 **put-file** 命令为更改的文件添加目录或路径结构。如果您要完全删除文件，您可以使用 **delete-file** 命令。

**注意**  
要将 Amazon CLI 命令与一起使用 CodeCommit，请安装 Amazon CLI。有关更多信息，请参阅 [命令行参考](cmd-ref.md)。

**编辑存储库中的文件**

1. 使用文件的本地副本，执行您要添加到 CodeCommit 存储库的更改。

1. 在终端或命令行中，运行 **put-file** 命令，并指定：
   + 您要将编辑后的文件添加到的存储库。
   + 您要将编辑后的文件添加到的分支。
   + 该分支的最近提交的完整提交 ID，也称为最前端提交或 HEAD 提交。
   + 文件的本地位置。
   + 您要添加的更新的文件的名称，包括更新的文件在存储库中的存储路径 (如果有)。
   + 您希望与此文件更改关联的用户名和电子邮件。
   + 一条提交消息，说明您所做的更改。

   用户名、电子邮件地址和提交消息是可选的，但可帮助其他用户知道谁执行的更改以及原因。如果您不提供用户名，则 CodeCommit 默认为使用您的 IAM 用户名或控制台登录名的派生形式。

   例如，要添加对名*ExampleSolution.py*为存储库的文件所做的编辑，*feature-randomizationfeature*该文件名*MyDemoRepo*为该分支的最近一次提交 ID 为*4c925148EXAMPLE*：

   ```
   aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "María García" --email "maría_garcía@example.com" --commit-message "I fixed the bug Mary found."
   ```
**注意**  
如果您要添加更改后的二进制文件，请确保结合使用 `--file-content` 与表示法 `fileb://MyDirectory/MyFile.raw`。

   如果成功，该命令返回类似以下内容的输出：

   ```
   {
      "blobId": "2eb4af3bEXAMPLE",
      "commitId": "317f8570EXAMPLE",
      "treeId": "347a3408EXAMPLE"
   }
   ```

要删除文件，请使用 **delete-file** 命令。例如，要删除名为的分支*README.md*中名为、最新提交 ID 为*main*的文件，该文件位于名为的存储库*c5709475EXAMPLE*中*MyDemoRepo*：

```
aws codecommit delete-file --repository-name MyDemoRepo --branch-name main --file-path README.md --parent-commit-id c5709475EXAMPLE
```

如果成功，该命令返回类似以下内容的输出：

```
{
  "blobId":"559b44fEXAMPLE",
  "commitId":"353cf655EXAMPLE",
  "filePath":"README.md",
  "treeId":"6bc824cEXAMPLE"
}
```

## 编辑文件 (Git)
<a name="how-to-edit-file-git"></a>

您可以编辑本地存储库中的文件并将更改推送到 CodeCommit 存储库。有关更多信息，请参阅 [Git 入门和 Amazon CodeCommit](getting-started.md)。