

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將程式碼與 CodeCatalyst 中的來源儲存庫一起存放和協作
<a name="source"></a>

CodeCatalyst 來源儲存庫是託管在 Amazon CodeCatalyst 中的 Git 儲存庫。您可以使用 CodeCatalyst 中的來源儲存庫，安全地存放、版本和管理專案的資產。

CodeCatalyst 儲存庫中的資產可能包括：
+  Documents
+ 來源碼 
+ 二進位檔案

CodeCatalyst 也會使用專案的來源儲存庫來存放專案的組態資訊，例如工作流程組態檔案。

您可以在 CodeCatalyst 專案中擁有多個來源儲存庫。例如，您可能想要有適用於前端原始碼、後端原始碼、公用程式和文件的個別來源儲存庫。

以下是在 CodeCatalyst 中使用來源儲存庫中的程式碼、提取請求和開發環境的一個可能工作流程：

Mary Major 使用藍圖在 CodeCatalyst 中建立 Web 應用程式專案，該藍圖會建立包含範本程式碼的來源儲存庫。她邀請她的朋友 Li Juan、Saanvi Sarkar 和 Jorge Souza 與她一起處理專案。Li Juan 查看來源儲存庫中的範例程式碼，並決定進行一些快速變更，以將測試新增至程式碼。Li 建立開發環境，選擇 AWS Cloud9 作為 IDE，並指定新的分支*測試碼*。開發環境隨即開啟。Li 快速新增程式碼，然後將變更遞交並推送至 CodeCatalyst 中的來源儲存庫。Li 接著會建立提取請求。在建立該提取請求的過程中，Li 將 Jorge Souza 和 Saanvi Sarkar 新增為檢閱者，以確保程式碼已檢閱。

在檢閱程式碼時，Jorge Souza 記得自己在 GitHub 上有自己的專案儲存庫，其中包含他們正在處理的應用程式原型。他要求 Mary Major 安裝和設定 延伸模組，以允許他將 GitHub 儲存庫連結至專案作為額外的來源儲存庫。Mary 會檢閱 GitHub 上的儲存庫，並與 Jorge 一起設定 GitHub 延伸模組，以便將 GitHub 儲存庫連結至專案的其他來源儲存庫。

CodeCatalyst 來源儲存庫支援 Git 的標準功能，並使用您現有的 Git 型工具。從 Git 用戶端或整合開發環境 (IDEs) 複製和使用來源儲存庫時，您可以建立並使用個人存取字符 (PATs) 做為應用程式特定的密碼。這些 PATs與您的 CodeCatalyst 使用者身分相關聯。如需詳細資訊，請參閱[使用個人存取權杖授予使用者儲存庫存取權](ipa-tokens-keys.md)。

CodeCatalyst 來源儲存庫支援提取請求。這是您和其他專案成員在將程式碼變更從一個分支合併到另一個分支之前，檢閱和評論程式碼變更的簡單方法。您可以在 CodeCatalyst 主控台中檢視變更，並對程式碼行進行註解。

推送至 CodeCatalyst 來源儲存庫中的分支，可以在工作流程中自動開始執行，其中可以建置、測試和部署變更。如果您的來源儲存庫是使用專案範本建立為專案的一部分，則會為您在專案中設定一或多個工作流程。您可以隨時為儲存庫新增其他工作流程。專案中工作流程的 YAML 組態檔案會存放在這些工作流程來源動作中設定的來源儲存庫中。如需詳細資訊，請參閱[工作流程入門](workflows-getting-started.md)。

**Topics**
+ [來源儲存庫概念](source-concepts.md)
+ [設定 以使用來源儲存庫](source-setting-up.md)
+ [CodeCatalyst 來源儲存庫和單頁應用程式藍圖入門](source-getting-started.md)
+ [將原始程式碼存放在 CodeCatalyst 中專案的儲存庫中](source-repositories.md)
+ [使用 Amazon CodeCatalyst 中的分支組織您的原始程式碼](source-branches.md)
+ [在 Amazon CodeCatalyst 中管理原始程式碼檔案](source-files.md)
+ [在 Amazon CodeCatalyst 中使用提取請求檢閱程式碼](source-pull-requests.md)
+ [了解 Amazon CodeCatalyst 中具有遞交的原始程式碼變更](source-commits.md)
+ [CodeCatalyst 中來源儲存庫的配額](source-quotas.md)

# 來源儲存庫概念
<a name="source-concepts"></a>

以下是使用 CodeCatalyst 來源儲存庫時需要了解的一些概念。

**Topics**
+ [專案](#project-concept)
+ [來源儲存庫](#source-repository-concept)
+ [開發環境](#devenvironment-concept)
+ [個人存取字符 (PATs)](#personal-access-token-concept)
+ [分支](#branches-concept)
+ [預設分支](#default-branch-concept)
+ [遞交](#commits-concept)
+ [提取請求](#pull-request-concept)
+ [修訂](#revision-concept)
+ [工作流程](#workflow-concept)

## 專案
<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 包含最常使用的程式設計語言和架構的工具。根據預設，開發環境設定為具有 2 核心處理器、4 GB RAM 和 16 GiB 的持久性儲存。

您可以選擇將來源儲存庫的現有分支複製到開發環境，也可以選擇建立新的分支，做為建立開發環境的一部分。

## 個人存取字符 (PATs)
<a name="personal-access-token-concept"></a>

*個人存取字符* (PAT) 類似於密碼。它與您的使用者身分相關聯，可用於 CodeCatalyst 中的所有空間和專案。您可以使用 PATs存取 CodeCatalyst 資源，其中包含整合式開發環境 (IDEs) 和 Git 型來源儲存庫。PATs CodeCatalyst 中代表您，您可以在使用者設定中管理它們。使用者可以有多個 PAT。個人存取字符只會顯示一次。根據最佳實務，請務必將它們安全地存放在本機電腦上。根據預設，PATs會在一年後過期。

使用整合式開發環境 (IDEs) 時，PATs等同於 Git 密碼。設定 IDE 以使用 Git 儲存庫時，請在要求密碼時提供 PAT。如需如何將 IDE 與 Git 型儲存庫連線的詳細資訊，請參閱 IDE 的文件。

## 分支
<a name="branches-concept"></a>

*分支*是 Git 和 CodeCatalyst 中遞交的指標或參考。您可以使用分支來組織您的工作。例如，您可以使用分支來處理新版本或不同版本的檔案，而不會影響其他分支中的檔案。您可以使用分支來開發新功能、存放專案的特定版本等等。來源儲存庫可以有一個分支或多個分支。當您使用範本建立專案時，為專案建立的來源儲存庫會在稱為**主要**的分支中包含範例檔案。**主要**分支是儲存庫的預設分支。

## 預設分支
<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`中名為 的資料夾中。每當您建立預設分支的分支時，除了該分支中的所有其他檔案和資料夾之外，還會建立此資料夾及其組態的副本。

# 設定 以使用來源儲存庫
<a name="source-setting-up"></a>

當您在本機電腦上使用 Amazon CodeCatalyst 中的來源儲存庫時，您可以單獨使用 Git，或在支援的整合式開發環境 (IDE) 中使用 Git 進行程式碼變更，並推送和提取程式碼。根據最佳實務，我們建議您使用 Git 和其他軟體的最新版本。

**注意**  
如果您使用開發環境，則不需要安裝 Git。最新版本的 Git 包含在開發環境中。


**CodeCatalyst 的版本相容性資訊**  

| 元件 | 版本 | 
| --- | --- | 
| Git | 最新 | 

## 安裝 Git
<a name="source-setting-up-git"></a>

若要在沒有 IDE 的情況下從 Git 用戶端使用來源儲存庫中的檔案、遞交、分支和其他資訊，請在本機電腦上安裝 Git。

若要安裝 Git，我們建議使用 [Git Downloads](http://git-scm.com/downloads) 等網站。

## 建立個人存取字符
<a name="source-setting-up-pat"></a>

若要將來源儲存庫複製到本機電腦或您偏好的 IDE，您必須建立個人存取字符 (PAT)。

**建立個人存取字符 (PAT)**

1. 在頂端選單列中，選擇您的設定檔徽章，然後選擇**我的設定**。
**提示**  
您也可以前往專案或空間的成員頁面，並從成員清單中選擇您的名稱，以尋找您的使用者設定檔。

1. 在 **PAT 名稱**中，輸入 PAT 的描述性名稱。

1. 在**過期日期**中，保留預設日期或選擇行事曆圖示以選取自訂日期。過期日期預設為目前日期的一年後。

1. 選擇**建立**。

   您也可以在為來源**儲存庫選擇複製**儲存庫時建立此字符。

1. 將 PAT 秘密儲存在安全的位置。
**重要**  
PAT 秘密只會顯示一次。關閉視窗後就無法擷取它。

# CodeCatalyst 來源儲存庫和單頁應用程式藍圖入門
<a name="source-getting-started"></a>

遵循本教學課程中的步驟，了解如何在 Amazon CodeCatalyst 中使用來源儲存庫。

開始使用 Amazon CodeCatalyst 中來源儲存庫的最快方法是使用範本建立專案。當您使用範本建立專案時，會為您建立資源，包括包含範本程式碼的來源儲存庫。您可以使用此儲存庫和程式碼範例來了解如何：
+ 檢視專案的來源儲存庫並瀏覽其內容
+ 使用您可以處理程式碼的新分支建立開發環境
+ 變更檔案，並遞交和推送變更
+ 建立提取請求，並與其他專案成員檢閱您的程式碼變更
+ 請參閱專案的工作流程，自動建置並測試提取請求來源分支中的變更
+ 將您的變更從來源分支合併到目的地分支，然後關閉提取請求
+ 查看自動建置和部署的合併變更

若要充分利用本教學課程，請邀請其他人加入您的專案，以便您可以一起處理提取請求。您也可以探索 CodeCatalyst 中的其他功能，例如建立問題並將其與提取請求建立關聯，或設定通知，並在相關聯的工作流程執行時收到提醒。如需 CodeCatalyst 的完整探索，請參閱[入門教學課程](getting-started-topnode.md)。

## 使用藍圖建立專案
<a name="source-getting-started-proj-create"></a>

建立專案是能夠一起工作的第一步。您可以使用藍圖來建立專案，該專案也會建立具有範本程式碼的來源儲存庫，以及在您變更程式碼時自動建置和部署程式碼的工作流程。在本教學課程中，我們將引導您完成使用**單頁應用程式**藍圖建立的專案，但您可以使用來源儲存庫遵循任何專案的程序。如果您在建立專案時沒有 IAM 角色，請務必選擇 IAM 角色或新增 IAM 角色。我們建議您為此專案使用 **CodeCatalystWorkflowDevelopmentRole-*spaceName***服務角色。

如果您已有專案，可以直接跳到 [檢視專案的儲存庫](#source-getting-started-source-view)。

**注意**  
只有具有 Space 管理員或 **Power 使用者**角色的使用者才能在 CodeCatalyst 中建立專案。如果您沒有此角色，而且需要專案才能進行本教學課程，請具有這些角色之一的人員為您建立專案，並將您新增至建立的專案。如需詳細資訊，請參閱[使用使用者角色授予存取權](ipa-roles.md)。

**使用藍圖建立專案**

1. 在 CodeCatalyst 主控台中，導覽至您要建立專案的空間。

1. 在空間儀表板上，選擇**建立專案**。

1. 選擇**從藍圖開始**。
**提示**  
您可以選擇為 **Amazon Q** 提供專案要求來新增藍圖，讓 Amazon Q 向您建議藍圖。如需詳細資訊，請參閱[建立專案或新增功能時，使用 Amazon Q 選擇藍圖](getting-started-project-assistance.md#getting-started-project-assistance-create-apply-bp)及[使用 Amazon Q 建立專案或新增具有藍圖的功能時的最佳實務](projects-create.md#projects-create-amazon-q)。此功能僅適用於美國西部 （奧勒岡） 區域。  
此功能需要為空間啟用生成式 AI 功能。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 從 **CodeCatalyst 藍圖**或**空間藍圖**索引標籤中，選擇藍圖，然後選擇**下一步**。

1. 在**為您的專案命名**下，輸入您要指派給專案的名稱及其相關聯的資源名稱。名稱在您的空間中必須是唯一的。

1. （選用） 根據預設，藍圖建立的原始碼會存放在 CodeCatalyst 儲存庫中。或者，您可以選擇將藍圖的原始程式碼存放在第三方儲存庫中。如需詳細資訊，請參閱[在 CodeCatalyst 中將功能新增至具有擴充功能的專案將功能新增至具有擴充功能的專案](extensions.md)。
**重要**  
CodeCatalyst 不支援偵測連結儲存庫的預設分支中的變更。若要變更連結儲存庫的預設分支，您必須先將其從 CodeCatalyst 取消連結、變更預設分支，然後再次連結。如需詳細資訊，請參閱[在 CodeCatalyst 中連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-link.md)。  
最佳實務是，在連結儲存庫之前，請務必確保您擁有最新版本的擴充功能。

   根據您要使用的第三方儲存庫提供者，執行下列其中一項操作：
   + **GitHub 儲存庫**：連接 GitHub 帳戶。

     選擇**進階**下拉式選單，選擇 GitHub 做為儲存庫提供者，然後選擇您要存放藍圖所建立來源碼的 GitHub 帳戶。
**注意**  
如果您要連接 GitHub 帳戶，則必須建立個人連線，以在 CodeCatalyst 身分和 GitHub 身分之間建立身分映射。如需詳細資訊，請參閱[個人連線](concepts.md#personal-connection-concept)及[使用個人連線存取 GitHub 資源](ipa-settings-connections.md)。
   + **Bitbucket 儲存庫**：連接 Bitbucket 工作區。

     選擇**進階**下拉式功能表，選擇 Bitbucket 做為儲存庫提供者，然後選擇您要存放藍圖所建立原始碼的 Bitbucket 工作區。
   + **GitLab 儲存庫**：連接 GitLab 使用者。

     選擇**進階**下拉式功能表，選擇 GitLab 做為儲存庫提供者，然後選擇您要存放藍圖所建立原始碼的 GitLab 使用者。

1. 在**專案資源**下，設定藍圖參數。根據藍圖，您可以選擇命名來源儲存庫名稱。

1. （選用） 若要根據您所做的專案參數選擇來檢視具有更新的定義檔案，請選擇從**產生專案預覽****中檢視程式碼**或**檢視工作流程**。

1. （選用） 從藍圖的卡片選擇**檢視詳細資訊**，以檢視藍圖的特定詳細資訊，例如藍圖架構的概觀、必要的連線和許可，以及藍圖建立的資源類型。

1. 選擇**建立專案**。

專案概觀頁面會在您建立專案或接受專案邀請並完成登入程序後立即開啟。新專案的專案概觀頁面不包含未解決的問題或提取請求。您可以選擇建立問題並將其指派給自己。您也可以選擇邀請其他人加入您的專案。如需詳細資訊，請參閱[在 CodeCatalyst 中建立問題](issues-create-issue.md)及[邀請使用者加入專案](projects-members.md#projects-members-add)。

## 檢視專案的儲存庫
<a name="source-getting-started-source-view"></a>

身為專案的成員，您可以檢視專案的來源儲存庫。您也可以選擇建立其他儲存庫。如果具有 **Space 管理員**角色的人員已安裝並設定 **GitHub 儲存庫**、**Bitbucket 儲存庫**或 **GitLab 儲存庫**延伸，您也可以在 GitHub 帳戶、Bitbucket 工作區或針對延伸設定的 GitLab 使用者中新增第三方儲存庫的連結。如需詳細資訊，請參閱[建立來源儲存庫](source-repositories-create.md)及[快速入門：在 CodeCatalyst 中安裝擴充功能、連線供應商和連結資源](extensions-quickstart.md)。

**注意**  
對於使用單頁應用程式藍圖建立的專案，包含範本程式碼的來源儲存庫的預設名稱為 ***spa-app***。

**導覽至專案的來源儲存庫**

1. 導覽至您的專案，並執行下列其中一項操作：
   + 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。
   + 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。在**來源儲存庫**中，從清單中選擇儲存庫的名稱。您可以在篩選列中輸入部分儲存庫名稱，以篩選儲存庫清單。

1. 在儲存庫的首頁上，檢視儲存庫的內容，以及有關相關資源的資訊，例如提取請求和工作流程的數量。預設會顯示預設分支的內容。您可以從下拉式清單中選擇不同的分支來變更檢視。

儲存庫的概觀頁面包含針對此儲存庫分支及其檔案設定的工作流程和提取請求的相關資訊。如果您剛建立專案，建置、測試和部署程式碼的初始工作流程仍會持續執行，因為它們需要幾分鐘的時間才能完成。您可以選擇相關工作流程下方的數字來檢視**相關工作流程**及其狀態，但這會在 **CI/CD** 中開啟**工作流程**頁面。在本教學課程中，請保留在概觀頁面上，並探索儲存庫中的程式碼。`README.md` 檔案的內容會在此頁面的儲存庫檔案下方轉譯。在 **檔案**中，會顯示預設分支的內容。如果您有其他分支的內容，您可以變更檔案檢視以顯示該分支的內容。`.codecatalyst` 資料夾包含用於專案其他部分的程式碼，例如工作流程 YAML 檔案。

若要檢視資料夾的內容，請選擇資料夾名稱旁的箭頭來展開資料夾。例如，選擇旁邊的箭頭`src`，以檢視該資料夾中包含的單頁 Web 應用程式的檔案。若要檢視檔案的內容，從清單中選擇檔案。這會開啟**檢視檔案**，您可以在其中瀏覽多個檔案的內容。您也可以在主控台中編輯單一檔案，但若要編輯多個檔案，您需要建立開發環境。

## 建立開發環境
<a name="source-getting-started-source-add"></a>

您可以在 Amazon CodeCatalyst 主控台的來源儲存庫中新增和變更檔案。不過，為了有效處理多個檔案和分支，我們建議您使用開發環境或將儲存庫複製到本機電腦。在本教學課程中，我們將使用名為 的分支建立 AWS Cloud9 開發環境**develop**。您可以選擇不同的分支名稱，但透過命名分支 **develop**，工作流程會在您稍後在本教學課程中建立提取請求時自動執行，以建置和測試您的程式碼。

**提示**  
如果您決定在本機複製儲存庫，而不是使用開發環境或除了使用開發環境之外，請確定您的本機電腦上有 Git，或您的 IDE 包含 Git。如需詳細資訊，請參閱[設定 以使用來源儲存庫](source-setting-up.md)。

**使用新分支建立開發環境**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至您要建立開發環境的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**、選擇**來源儲存庫**，然後選擇您要為其建立開發環境的儲存庫。

1. 在儲存庫首頁上，選擇**建立開發環境**。

1. 從下拉式選單中選擇支援的 IDE。如需詳細資訊，請參閱[支援開發環境的整合式開發環境](devenvironment-create.md#devenvironment-supported-ide)。

1. 選擇要複製的儲存庫，選擇在**新分支中工作**，在**分支名稱**欄位中輸入分支名稱，然後從從建立分支下拉式功能表中選擇要建立新**分支**的分支。

1. 或者，為開發環境新增別名。

1. 或者，選擇**開發環境組態**編輯按鈕，以編輯開發環境的運算、儲存或逾時組態。

1. 選擇**建立**。建立開發環境時，開發環境狀態欄會顯示**開始**，而狀態欄會在建立開發環境後顯示**執行**中。在您選擇的 IDE 中，新的索引標籤將隨您的開發環境開啟。您可以編輯程式碼並遞交和推送變更。

建立開發環境後，您可以編輯檔案、遞交變更，並將變更推送至**test**分支。在本教學課程中，編輯 `src` 資料夾中`App.tsx`的`<p>`標籤之間的內容，以變更網頁上顯示的文字。遞交並推送您的變更，然後返回 CodeCatalyst 索引標籤。

## 從 AWS Cloud9 開發環境進行和推送變更


1. 在 中 AWS Cloud9，展開側邊導覽選單以瀏覽檔案。展開 `src`，然後開啟 `App.tsx`。

1. 變更`<p>`標籤內的文字。

1. 儲存檔案，然後使用 Git 功能表遞交和推送您的變更。或者，在終端機視窗中，使用 和 **git push**命令遞交**git commit**並推送您的變更。

   ```
   git commit -am "Making an example change"
   git push
   ```
**提示**  
您可能需要將終端機中的目錄變更為 Git 儲存庫目錄，才能成功執行 Git 命令。

## 建立提取請求
<a name="source-getting-started-pull-request"></a>

您可以使用提取請求，針對發行軟體的次要變更或修正、主要功能新增或新版本，協同檢閱程式碼變更。在本教學課程中，您將建立提取請求，以檢閱與**主要**分支相比您對*測試*分支所做的變更。在以範本建立的專案中建立提取請求，也會開始執行其相關聯的工作流程，如果有的話。

**建立提取請求**

1. 導覽至您的專案。

1. 執行以下任意一項：
   + 在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇**建立提取請求**。
   + 在儲存庫首頁上，選擇**更多**，然後選擇**建立提取請求**。
   + 在專案頁面上，選擇**建立提取請求**。

1. 在**來源儲存庫**中，請確定指定的來源儲存庫包含遞交的程式碼。只有在您未從儲存庫的主頁面建立提取請求時，才會顯示此選項。

1. 在**目的地分支**中，選擇要在檢閱程式碼之後將程式碼合併到其中的分支。

1. 在**來源分支**中，選擇包含遞交程式碼的分支。

1. 在**提取請求標題**中，輸入標題，以協助其他使用者了解需要檢閱的內容及其原因。

1. （選用） 在**提取請求描述**中，提供問題連結或變更描述等資訊。
**提示**  
您可以選擇**寫入描述，**讓 CodeCatalyst 自動產生提取請求中包含的變更描述。您可以在將自動產生的描述新增至提取請求之後對其進行變更。  
此功能需要為空間啟用生成式 AI 功能，且不適用於連結儲存庫中的提取請求。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要檢閱者和選用檢閱者。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。在提取請求可以合併到目的地分支之前，選用檢閱者不需要核准變更。

1. 檢閱分支之間的差異。提取請求中顯示的差異是來源分支中的修訂與合併基礎之間的變更，這是建立提取請求時目的地分支的前端遞交。如果沒有顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. 當您滿意提取請求包含您想要檢閱的程式碼和變更時，請選擇**建立**。
**注意**  
建立提取請求之後，您可以新增註解。評論可以新增到提取請求或檔案中的個別行，以及整體提取請求。您可以使用 @ 符號加上檔案名稱，以新增資源的連結，例如檔案。

您可以選擇**概觀**，然後檢閱工作流程執行下的**提取請求詳細資訊**區域中的資訊，以檢視建立此提取請求時啟動的相關聯工作流程的相關資訊。 ****若要檢視工作流程執行，請選擇執行。

**提示**  
如果您將分支命名為 以外的項目**develop**，工作流程就不會自動執行來建置和測試您的變更。如果您想要設定，請編輯 **onPullRequestBuildAndTest** 工作流程的 YAML 檔案。如需詳細資訊，請參閱[建立工作流程](workflows-create-workflow.md)。

您可以對此提取請求進行評論，並要求其他專案成員對其進行評論。您也可以選擇新增或變更選用或必要檢閱者。您可以選擇對儲存庫的來源分支進行更多變更，並查看這些遞交的變更如何為提取請求建立修訂。如需詳細資訊，請參閱 [檢閱提取請求](pull-requests-review.md)、[在 Amazon CodeCatalyst 中使用提取請求檢閱程式碼](source-pull-requests.md)、 [更新提取請求](pull-requests-update.md)和 [檢視工作流程執行狀態和詳細資訊](workflows-view-run.md) 。

## 合併提取請求
<a name="source-getting-started-merge-pull-request"></a>

提取請求經過審核並獲得必要審核者的核准後，您就可以將其來源分支合併到 CodeCatalyst 主控台中的目的地分支。合併提取請求也會透過與目的地分支相關聯的任何工作流程開始執行變更。在本教學課程中，您會將測試分支合併為主要分支，這會開始執行 **onPushToMainDeployPipeline** 工作流程。

**合併提取請求 （主控台）**

1. 在**提取請求**中，選擇您在上一個步驟中建立的提取請求。在提取請求中，選擇**合併**。

1. 從提取請求的可用合併策略中選擇。選擇性地選取或取消選取在合併提取請求後刪除來源分支的選項，然後選擇**合併**。合併完成後，提取請求的狀態會變更為**合併**，且不會再出現在提取請求的預設檢視中。預設檢視會顯示狀態為 **Open** 的提取請求。您仍然可以檢視合併的提取請求，但無法核准它或變更其狀態。
**注意**  
如果**合併**按鈕未處於作用中狀態，或者您看到**不可合併**標籤，則所需的檢閱者尚未核准提取請求，或提取請求無法在 CodeCatalyst 主控台中合併。尚未核准提取請求的檢閱者會在**提取請求詳細資訊**區域中的**概觀**中以時鐘圖示表示。如果所有必要的檢閱者都已核准提取請求，但**合併**按鈕仍處於非作用中狀態，則可能會發生合併衝突，或者您已超過空間的儲存配額。您可以解決開發環境中目的地分支的合併衝突、推送變更，然後合併提取請求，也可以解決衝突並在本機合併，然後將包含合併的遞交推送至 CodeCatalyst。如需詳細資訊，請參閱 [合併提取請求 (Git)](pull-requests-merge.md#pull-requests-merge-git)和您的 Git 文件。

## 檢視部署的程式碼
<a name="source-getting-started-view-workflow-results"></a>

現在，您可以檢視預設分支中最初部署的程式碼，並在自動建置、測試和部署合併程式碼後進行變更。若要這樣做，您可以返回儲存庫的概觀頁面，然後選擇相關工作流程圖示旁的號碼，或在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

**檢視部署的程式碼**

1. 在**工作流程**的 中`onPushToMainDeployPipeline`，展開**最近執行**。
**注意**  
這是使用**單頁應用程式**藍圖建立之專案的工作流程預設名稱。

1. 最近的執行是合併提取請求遞交至`main`分支時啟動的執行，可能會顯示**進行中**的狀態。從清單中選擇成功完成的執行，以開啟該執行的詳細資訊。

1. 選擇**變數**。複製 **AppURL** 的值。這是已部署的單一頁面 Web 應用程式的 URL。開啟新的瀏覽器索引標籤並貼入 值，以檢視建置和部署的程式碼。保持標籤開啟。

1. 返回工作流程執行清單，並等待最近的執行完成。這麼做時，請返回您開啟的索引標籤，以檢視 Web 應用程式並重新整理瀏覽器。您應該會看到您在合併提取請求中所做的變更。

## 清除資源
<a name="source-getting-started-clean-up"></a>

探索使用來源儲存庫並提取請求後，建議您移除不需要的任何資源。您無法刪除提取請求，但可以關閉它們。您可以刪除您建立的任何分支。

如果您不再需要來源儲存庫或專案，您也可以刪除這些資源。如需詳細資訊，請參閱[刪除來源儲存庫](source-repositories-delete.md)及[刪除專案](projects-delete.md)。

# 將原始程式碼存放在 CodeCatalyst 中專案的儲存庫中
<a name="source-repositories"></a>

來源儲存庫可讓您安全地存放專案的程式碼和檔案。它也會儲存您的來源歷史記錄，從第一個遞交到最新的變更。如果您選擇包含來源儲存庫的藍圖，該儲存庫也會包含組態檔案，以及專案工作流程和通知的其他資訊。此組態資訊存放在名為 **.codecatalyst** 的資料夾中。

您可以在 CodeCatalyst 中建立來源儲存庫，方法是使用建立來源儲存庫做為建立專案的一部分的藍圖建立專案，或在現有專案中建立來源儲存庫。專案使用者會自動查看並使用您為專案建立的儲存庫。您也可以選擇將託管在 GitHub、Jockixucket 或 GitLab 上的 Git 儲存庫連結至您的專案。當您這樣做時，您的專案使用者可以在專案的儲存庫清單中檢視和存取該連結的儲存庫。

**注意**  
您必須先為託管儲存庫的服務安裝擴充功能，才能連結儲存庫。您無法連結封存的儲存庫。雖然您可以連結空的儲存庫，但您無法在 CodeCatalyst 中使用它，除非您已使用建立預設分支的初始遞交來初始化它。如需詳細資訊，請參閱[在空間中安裝擴充功能](install-extension.md)。

根據預設，來源儲存庫會與 Amazon CodeCatalyst 專案的其他成員共用。您可以為專案建立其他來源儲存庫，或將儲存庫連結至專案。專案的所有成員都可以檢視、新增、編輯和刪除專案來源儲存庫中的檔案和資料夾。

若要快速處理來源儲存庫中的程式碼，您可以建立開發環境，將指定的儲存庫複製到其中，並在您為開發環境選擇的整合開發環境 (IDE) 中處理程式碼。您可以在本機電腦上複製來源儲存庫，並在本機儲存庫與 CodeCatalyst 中的遠端儲存庫之間提取和推送變更。您也可以在偏好的 IDE 中設定對來源儲存庫的存取，只要 IDE 支援憑證管理。

儲存庫名稱在 CodeCatalyst 專案中必須是唯一的。

**Topics**
+ [建立來源儲存庫](source-repositories-create.md)
+ [將現有的 Git 儲存庫複製到來源儲存庫](source-repositories-add-existing.md)
+ [連結來源儲存庫](source-repositories-link.md)
+ [檢視來源儲存庫](source-repositories-view.md)
+ [編輯來源儲存庫的設定](source-repositories-edit.md)
+ [複製來源儲存庫](source-repositories-clone.md)
+ [刪除來源儲存庫](source-repositories-delete.md)

# 建立來源儲存庫
<a name="source-repositories-create"></a>

當您在 Amazon CodeCatalyst 中使用藍圖建立專案時，CodeCatalyst 會為您建立來源儲存庫。除了為您建立的工作流程和其他資源的組態資訊之外，該來源儲存庫還包含範例程式碼。這是在 CodeCatalyst 中開始使用儲存庫的建議方法。您可以選擇為專案建立儲存庫。這些儲存庫將包含您可以隨時編輯或刪除的 **README.md** 檔案。視您在建立來源儲存庫時的選擇而定，儲存庫也可能包含 `.gitignore` 檔案。

如果您想要將現有的 Git 儲存庫複製到 CodeCatalyst 來源儲存庫，請考慮改為建立空白儲存庫。在您將內容新增至 CodeCatalyst 之前，此儲存庫將無法在 CodeCatalyst 中使用，您可以使用幾個簡單的 Git 命令來執行此操作。或者，您也可以直接從 CodeCatalyst 主控台將內容新增至空白儲存庫。或者，您可以在支援的 Git 儲存庫提供者中連結來源儲存庫。如需詳細資訊，請參閱[連結來源儲存庫](source-repositories-link.md)。

**建立來源儲存庫**

1. 開啟 CodeCatalyst 主控台，網址為 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 導覽至您的專案。

1. 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇**新增儲存庫**，然後選擇**建立儲存庫**。

1. 在**儲存庫名稱**中，提供儲存庫的名稱。在本指南中，我們使用 *codecatalyst-source-repository*，但您可以選擇不同的名稱。儲存庫名稱在專案中必須是唯一的。如需儲存庫名稱需求的詳細資訊，請參閱 [CodeCatalyst 中來源儲存庫的配額](source-quotas.md)。

1. （選用） 在**描述**中，新增儲存庫的描述，以協助專案中的其他使用者了解儲存庫的用途。

1. 選擇**建立儲存庫 （預設）**。此選項會建立包含預設分支和 README.md 檔案的儲存庫。與空儲存庫不同，您可以在建立儲存庫後立即使用此儲存庫。

1. 在**預設分支**中，除非您有理由選擇不同的名稱，否則請將名稱保留為*主要*名稱。本指南中的範例都使用預設分支*的主*名稱。

1. （選用） 針對您計劃推送的程式碼類型新增`.gitignore`檔案。

1. 選擇**建立**。
**注意**  
CodeCatalyst 會在您建立檔案時，將`README.md`檔案新增至您的儲存庫。CodeCatalyst 也會在名為 **main** 的預設分支中為儲存庫建立初始遞交。您可以編輯或刪除 README.md 檔案，但無法刪除預設分支。<a name="source-repositories-create-empty"></a>

**建立空白來源儲存庫**

1. 在 CodeCatalyst 主控台中，導覽至您要建立空白儲存庫的專案。

1. 在專案的摘要頁面上，於**來源儲存庫**中選擇**新增儲存庫**，然後選擇**建立儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。選擇**新增儲存庫**，然後選擇**建立儲存庫**。

1. 在**儲存庫名稱**中，提供儲存庫的名稱。在本指南中，我們使用 *codecatalyst-source-repository*，但您可以選擇不同的名稱。儲存庫名稱在專案中必須是唯一的。如需儲存庫名稱需求的詳細資訊，請參閱 [CodeCatalyst 中來源儲存庫的配額](source-quotas.md)。

1. （選用） 在**描述**中，新增儲存庫的描述，以協助專案中的其他使用者了解儲存庫的用途。

1. 選擇**建立空白儲存庫**，然後選擇**建立**。

# 將現有的 Git 儲存庫複製到來源儲存庫
<a name="source-repositories-add-existing"></a>

您可以將現有的 Git 儲存庫複製到 Amazon CodeCatalyst 中的空來源儲存庫。這是使用先前在另一個 Git 儲存庫提供者託管的程式碼，在 CodeCatalyst 中開始使用的快速方法。您可以透過建立鏡像複製，然後將鏡像推送至 CodeCatalyst 來複製儲存庫的內容。或者，如果您有儲存庫的本機儲存庫的內容要新增至 CodeCatalyst，您可以將 CodeCatalyst 來源儲存庫新增為本機儲存庫的另一個遠端，然後推送至空的來源儲存庫。這兩種方法都同樣有效。使用鏡像複製不僅映射分支，還會映射所有參考。這是在 CodeCatalyst 中建立儲存庫工作副本的簡單且乾淨方法。將遠端新增至指向空白 CodeCatalyst 來源儲存庫的本機儲存庫會將儲存庫內容新增至 CodeCatalyst，但也可讓您從本機儲存庫推送到 CodeCatalyst 來源儲存庫和原始 Git 遠端儲存庫。如果您想要在不同遠端儲存庫中維護程式碼，這會很有用，但如果其他開發人員只將程式碼遞交至其中一個遠端，則可能會導致衝突。

下列程序使用基本 Git 命令來完成此任務。在 Git 中完成任務的方法有很多，包括複製。如需詳細資訊，請參閱 [Git 文件。](https://git-scm.com/docs/git-clone)

**重要**  
您必須先在 CodeCatalyst 中建立空儲存庫，才能將內容複製到其中。您還必須擁有個人存取字符。如需詳細資訊，請參閱[建立空白來源儲存庫](source-repositories-create.md#source-repositories-create-empty)及[建立個人存取字符](source-setting-up.md#source-setting-up-pat)。<a name="source-repositories-clone-exisitng-git-mirror"></a>

**使用 `git clone --mirror` 將現有的 Git 儲存庫複製到 CodeCatalyst**

1. 在 CodeCatalyst 主控台中，導覽至您建立空儲存庫的專案。

1. 在專案的摘要頁面上，從清單中選擇空白儲存庫，然後選擇**檢視儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。從專案的來源儲存庫清單中選擇空儲存庫的名稱。

1. 複製空白儲存庫的 HTTPS 複製 URL。您將需要此項目來推送鏡像複製。例如，如果您在 ExampleCorp 空間的 MyExampleProject 專案中命名來源儲存庫 MyExampleRepo，且您的使用者名稱為 LiJuan，則複製 URL 可能如下所示：

   ```
   https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

1. 在命令列或終端機視窗中，使用 `git clone --mirror`命令來建立您要複製到 CodeCatalyst 之 Git 儲存庫的鏡像複製。例如，如果您想要在 GitHub 中建立 codecatalyst-blueprints 儲存庫的鏡像複製，您可以輸入下列命令：

   ```
   git clone --mirror https://github.com/aws/codecatalyst-blueprints.git
   ```

1. 將目錄變更為您進行複製的目錄。

   ```
   cd codecatalyst-blueprints.git
   ```

1. 執行 **git push**命令，指定目的地 CodeCatalyst 來源儲存庫的 URL 和名稱，以及 **--all**選項。（這是您在步驟 3 中複製的 URL。) 例如：

   ```
   git push https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo --all
   ```<a name="source-repositories-clone-local-repo"></a>

**新增遠端並將本機儲存庫推送至 CodeCatalyst**

1. 在 CodeCatalyst 主控台中，導覽至您建立空儲存庫的專案。

1. 在專案的摘要頁面上，從清單中選擇空白儲存庫，然後選擇**檢視儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。從專案的來源儲存庫清單中選擇空儲存庫的名稱。

1. 複製空白儲存庫的 HTTPS 複製 URL。您將需要此項目來推送鏡像複製。例如，如果您在 ExampleCorp 空間的 MyExampleProject 專案中命名來源儲存庫 MyExampleRepo，且您的使用者名稱為 LiJuan，則複製 URL 可能如下所示：

   ```
   https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

1. 在命令列或終端機視窗中，將目錄變更為您要推送至 CodeCatalyst 的本機儲存庫。

1. 執行 git remote -v 命令，以查看本機儲存庫的現有遠端。例如，如果您在美國**MyDemoRepo**東部 （俄亥俄） 區域中複製名為 的 AWS CodeCommit 儲存庫的本機儲存庫，您的命令輸出可能如下所示：

   ```
   origin  https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)
   origin  https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)
   ```

   如果您想要繼續使用儲存庫，請複製遠端 URL。

1. 使用 `git remote remove`命令移除用於擷取和推送原始伺服器的 CodeCommit 儲存庫 URLs：

   ```
   git remote remove origin
   ```

1. 使用 **git remote add** 命令，將 CodeCatalyst 來源儲存庫 URL 新增為本機儲存庫的擷取和推送遠端。例如：

   ```
   git remote add origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

   這會將 CodeCommit 儲存庫推送 URL 取代為 CodeCatalyst 來源儲存庫 URL，但不會變更擷取 URL。因此，如果您再次執行 git remote -v 命令，您會看到您現在正在從 CodeCommit 遠端儲存庫提取 （擷取） 程式碼，但已設定為將變更從本機儲存庫推送至 CodeCatalyst 來源儲存庫：

   ```
   origin  https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)
   origin  https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo (push)
   ```

   如果您想要使用 `git remote set-url`命令推送到兩個儲存庫，您可以選擇新增 CodeCommit 遠端 URL：

   ```
   git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
   ```

1. 執行 `git push`命令，將本機儲存庫推送至所有設定的推送遠端。或者，執行 **git push -u -origin**命令，指定將本機儲存庫推送到兩個儲存庫**--all**的選項。例如：

   ```
   git push -u -origin --all
   ```

**提示**  
根據您的 Git 版本， --全部可能無法將本機儲存庫的所有分支推送至空白儲存庫。您可能需要簽出並分別推送每個分支。

# 連結來源儲存庫
<a name="source-repositories-link"></a>

將來源儲存庫連結至專案時，如果您的空間已安裝該延伸，您可以包含具有託管儲存庫之服務的 CodeCatalyst 延伸模組的儲存庫。只有具有 Space 管理員角色的使用者才能安裝擴充功能。安裝延伸模組後，您可以連結至為該延伸模組存取而設定的儲存庫。如需詳細資訊，請參閱 [在空間中安裝擴充功能](install-extension.md)或遵循 [在 CodeCatalyst 中連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-link.md)。

**重要**  
安裝儲存庫延伸模組後，您連結至 CodeCatalyst 的任何儲存庫都會將其程式碼編製索引並儲存在 CodeCatalyst 中。這可讓程式碼在 CodeCatalyst 中搜尋。若要在 CodeCatalyst 中使用連結儲存庫時進一步了解程式碼的資料保護，請參閱《*Amazon CodeCatalyst 使用者指南*》中的[資料保護](https://docs.aws.amazon.com/codecatalyst/latest/userguide/data-protection.html)。

您只能將儲存庫連結至空間中的一個專案。您無法連結封存的儲存庫。雖然您可以連結空的儲存庫，但您無法在 CodeCatalyst 中使用它，除非您已使用建立預設分支的初始遞交來初始化它。此外：
+ GitHub 儲存庫、Bitbucket 儲存庫或 GitLab 專案儲存庫只能連結到空間中的一個 CodeCatalyst 專案。
+ 您無法搭配 CodeCatalyst 專案使用空的或封存的 GitHub 儲存庫、Bitbucket 儲存庫或 GitLab 專案儲存庫。
+ 您無法連結與 CodeCatalyst 專案中儲存庫同名的 GitHub 儲存庫、Bitbucket 儲存庫或 GitLab 專案儲存庫。
+ **GitHub 儲存庫**擴充功能與 GitHub Enterprise Server 儲存庫不相容。
+ **Bitbucket 儲存庫**延伸與 Bitbucket 資料中心儲存庫不相容。
+ **GitLab 儲存庫**延伸與 GitLab 自我管理的專案儲存庫不相容。
+ 您無法**針對我使用寫入描述**，也無法透過連結的儲存庫**來摘要評論**功能。這些功能僅適用於 CodeCatalyst 中的提取請求。

雖然您可以將 GitHub 儲存庫、Bitbucket 儲存庫或 GitLab 專案儲存庫連結為**貢獻者**，但您只能將第三方儲存庫取消連結為**空間管理員**或**專案管理員**。如需詳細資訊，請參閱[在 CodeCatalyst 中取消連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-unlink.md)。

**重要**  
CodeCatalyst 不支援偵測連結儲存庫的預設分支中的變更。若要變更連結儲存庫的預設分支，您必須先將其從 CodeCatalyst 取消連結、變更預設分支，然後再次連結。如需詳細資訊，請參閱[在 CodeCatalyst 中連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-link.md)。  
最佳實務是，在連結儲存庫之前，請務必確保您擁有最新版本的擴充功能。

**連結來源儲存庫**

1. 導覽至您要連結儲存庫的專案。
**注意**  
在連結儲存庫之前，具有 Space 管理員角色的使用者必須先為託管儲存庫的提供者安裝 擴充功能。如需詳細資訊，請參閱[在空間中安裝擴充功能](install-extension.md)。

1. 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇**新增儲存庫**，然後選擇**連結儲存庫**。

1. 從**儲存庫提供者**下拉式功能表中，選擇下列其中一個第三方儲存庫提供者：**GitHub** 或 **Bitbucket**。

1. 根據您選擇連結的第三方儲存庫提供者，執行下列其中一項操作：
   + **GitHub 儲存庫**：連結 GitHub 儲存庫。

     1. 從 **GitHub 帳戶**下拉式功能表中，選擇包含您要連結之儲存庫的 GitHub 帳戶。

     1. 從 **GitHub 儲存庫**下拉式功能表中，選擇您要連結 CodeCatalyst 專案的 GitHub 帳戶。

     1. （選用） 如果您在儲存庫清單中看不到 GitHub 儲存庫，則可能尚未在 GitHub 的 Amazon CodeCatalyst 應用程式中設定儲存庫存取。您可以設定哪些 GitHub 儲存庫可在連線帳戶中的 CodeCatalyst 中使用。

        1. 導覽至您的 [GitHub](https://github.com/) 帳戶，選擇**設定**，然後選擇**應用程式**。

        1. 在**已安裝的 GitHub 應用程式**索引標籤中，選擇**設定** Amazon CodeCatalyst 應用程式。

        1. 執行下列其中一項操作來設定您要在 CodeCatalyst 中連結的 GitHub 儲存庫存取權：
           + 若要提供所有目前和未來儲存庫的存取權，請選擇**所有儲存庫**。
           + 若要提供特定儲存庫的存取權，請選擇**僅選取儲存庫**，選擇**選取儲存庫**下拉式清單，然後選擇您要允許 在 CodeCatalyst 中連結的儲存庫。
   + **Bitbucket 儲存庫**：連結 Bitbucket 儲存庫。

     1. 從 **Bitbucket 工作區**下拉式功能表中，選擇包含您要連結之儲存庫的 Bitbucket 工作區。

     1. 從 **Bitbucket 儲存庫**下拉式功能表中，選擇您要連結 CodeCatalyst 專案的 Bitbucket 儲存庫。
**提示**  
如果儲存庫的名稱呈現灰色，則您無法連結該儲存庫，因為它已連結至 Amazon CodeCatalyst 中的另一個專案。

1. 選擇 **Link (連結)**。

如果您不想再使用 CodeCatalyst 中的 GitHub 儲存庫、Bitbucket 儲存庫或 GitLab 專案儲存庫，您可以將其從 CodeCatalyst 專案取消連結。當儲存庫取消連結時，該儲存庫中的事件將不會啟動工作流程執行，而且您將無法將該儲存庫與 CodeCatalyst 開發環境搭配使用。如需詳細資訊，請參閱[在 CodeCatalyst 中取消連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-unlink.md)。

# 檢視來源儲存庫
<a name="source-repositories-view"></a>

您可以在 Amazon CodeCatalyst 中檢視與專案相關聯的來源儲存庫。對於 CodeCatalyst 中的來源儲存庫，儲存庫的概觀頁面提供該儲存庫中資訊和活動的快速概觀，包括：
+ 儲存庫的描述，如果有的話
+ 儲存庫中的分支數目
+ 儲存庫的開啟提取請求數目
+ 儲存庫的相關工作流程數目
+ 預設分支或您選擇的分支中的檔案和資料夾
+ 上次遞交至顯示分支的標題、作者和日期
+ 如果包含任何 README.md 檔案，在 Markdown 中轉譯的 README.md 檔案的內容

此頁面也提供遞交、分支和提取儲存庫請求的連結，以及開啟、檢視和編輯個別檔案的快速方法。

**注意**  
您無法在 CodeCatalyst 主控台中檢視有關連結儲存庫的資訊。若要檢視連結儲存庫的相關資訊，請選擇儲存庫清單中的連結，以在託管儲存庫的 服務中開啟該儲存庫。

**導覽至專案的來源儲存庫**

1. 導覽至您的專案，並執行下列其中一項操作：
   + 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。
   + 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。在**來源儲存庫**中，從清單中選擇儲存庫的名稱。您可以在篩選列中輸入部分儲存庫名稱，以篩選儲存庫清單。

1. 在儲存庫的首頁上，檢視儲存庫的內容，以及有關相關資源的資訊，例如提取請求和工作流程的數量。預設會顯示預設分支的內容。您可以從下拉式清單中選擇不同的分支來變更檢視。

**提示**  
您也可以選擇從專案摘要頁面**查看專案程式碼**，快速導覽至專案的儲存庫。

# 編輯來源儲存庫的設定
<a name="source-repositories-edit"></a>

您可以管理儲存庫的設定，包括編輯儲存庫的描述、選擇預設分支、建立和管理分支規則，以及在 CodeCatalyst 中建立和管理提取請求的核准規則。這可協助專案成員了解儲存庫的用途，並協助您強制執行團隊使用的最佳實務和程序。

**注意**  
您無法編輯來源儲存庫的名稱。  
您無法編輯 CodeCatalyst 中連結儲存庫的名稱、描述或其他資訊。若要修改連結儲存庫的相關資訊，您必須在託管連結儲存庫的提供者中進行編輯。如需詳細資訊，請參閱託管連結儲存庫的 服務文件。<a name="source-repositories-edit-details"></a>

**編輯儲存庫的設定**

1. 在 CodeCatalyst 主控台中，導覽至包含您要編輯其設定的來源儲存庫的專案。

1. 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。從專案的來源儲存庫清單中選擇儲存庫的名稱。

1. 在儲存庫的概觀頁面上，選擇**更多**，然後選擇**管理設定**。

1. 執行下列其中一項或多項：
   + 編輯儲存庫的描述，然後選擇**儲存**。
   + 若要變更儲存庫的預設分支，請在**預設分支**中選擇**編輯**。如需詳細資訊，請參閱[管理儲存庫的預設分支](source-branches-default-branch.md)。
   + 若要新增、移除或變更哪些專案角色具有在分支中執行特定動作之許可的規則，請在**分支規則**中選擇**編輯**。如需詳細資訊，請參閱[使用分支規則管理分支的允許動作](source-branches-branch-rules.md)。
   + 若要新增、移除或變更合併提取請求至分支的核准規則，請在**核准規則**中選擇**編輯**。如需詳細資訊，請參閱[管理將提取請求與核准規則合併的要求](source-pull-requests-approval-rules.md)。

# 複製來源儲存庫
<a name="source-repositories-clone"></a>

若要有效地使用來源儲存庫中的多個檔案、分支和遞交，請將來源儲存庫複製到本機電腦，並使用 Git 用戶端或整合式開發環境 (IDE) 進行變更。遞交變更並推送至來源儲存庫，以便使用 CodeCatalyst 功能，例如問題和提取請求。您也可以選擇建立開發環境來處理程式碼。建立開發環境會自動將您指定的儲存庫和分支複製到開發環境。

**注意**  
您無法在 CodeCatalyst 主控台中複製連結的儲存庫，或為其建立開發環境。若要在本機複製連結的儲存庫，請選擇儲存庫清單中的連結，以在託管儲存庫的 服務中開啟該儲存庫，然後複製該儲存庫。如需詳細資訊，請參閱託管連結儲存庫的 服務文件。

**從來源儲存庫建立開發環境**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇您要處理程式碼的來源儲存庫。

1. 選擇**建立開發環境**。

1. 從下拉式選單中選擇支援的 IDE。如需詳細資訊，請參閱[支援開發環境的整合式開發環境](devenvironment-create.md#devenvironment-supported-ide)。

1. 執行以下任意一項：
   + 選擇在**現有分支中工作**，然後從**現有分支下拉式功能表中選擇分支**。
   + 選擇在**新分支中工作**，在**分支名稱**欄位中輸入分支名稱，然後從從建立分支下拉式功能表中選擇要建立新**分支**的分支。

1. 選擇性地新增開發環境的名稱或編輯其組態。

1. 選擇**建立**。

**複製來源儲存庫**

1. 導覽至您的專案。

1. 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。從專案的來源儲存庫清單中選擇儲存庫的名稱。您可以在篩選列中輸入部分儲存庫名稱，以篩選儲存庫清單。

1. 

1. 選擇**複製儲存庫**。複製儲存庫的複製 URL。
**注意**  
如果您沒有個人存取字符 (PAT)，請選擇**建立字符**。複製字符並將其儲存在安全的位置。當 Git 用戶端或整合開發環境 (IDE) 提示輸入密碼時，您將使用此 PAT。

1. 執行以下任意一項：
   + 若要將儲存庫複製到本機電腦，請開啟終端機或命令列，並在**git clone**命令之後使用複製 URL 執行命令。例如：

     ```
     git clone https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
     ```

     出現密碼提示時，請貼上您稍早儲存的 PAT。
**注意**  
如果您的作業系統提供登入資料管理，或者您已安裝登入資料管理系統，則只需要提供一次 PAT。如果沒有，您可能必須為每個 Git 操作提供 PAT。最佳實務是確保您的登入資料管理系統安全地存放您的 PAT。請勿在複製 URL 字串中包含 PAT。
   + 若要使用 IDE 複製儲存庫，請遵循 IDE 的文件。選擇複製 Git 儲存庫並提供 URL 的選項。出現密碼提示時，請提供 PAT。

# 刪除來源儲存庫
<a name="source-repositories-delete"></a>

如果不再需要 Amazon CodeCatalyst 專案的來源儲存庫，您可以將其刪除。刪除來源儲存庫也會刪除儲存在儲存庫中的任何專案資訊。如果任何工作流程依賴於來源儲存庫，則在刪除儲存庫之後，這些工作流程將從專案工作流程清單中刪除。不會刪除或修改參考來源儲存庫的問題，但新增至問題之來源儲存庫的任何連結都會在刪除儲存庫後失敗。

**重要**  
刪除來源儲存庫無法復原。刪除來源儲存庫之後，您無法再複製該儲存庫、從中提取資料，或將資料推送到其中。刪除來源儲存庫不會刪除該儲存庫的任何本機複本 （本機儲存庫）。若要刪除本機儲存庫，請使用本機電腦的目錄和檔案管理工具。

**注意**  
您無法在 CodeCatalyst 主控台中刪除連結的儲存庫。若要刪除連結的儲存庫，請選擇儲存庫清單中的連結，以在託管儲存庫的 服務中開啟該儲存庫，然後將其刪除。如需詳細資訊，請參閱託管連結儲存庫的 服務文件。  
若要從專案中移除連結的儲存庫，請參閱 [在 CodeCatalyst 中取消連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-unlink.md)。

**刪除來源儲存庫**

1. 導覽至包含您要刪除之來源儲存庫的專案。

1. 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。從專案的來源儲存庫清單中選擇儲存庫的名稱。

1. 在儲存庫的首頁上，選擇**更多**，選擇**管理設定**，然後選擇**刪除儲存庫**。

1. 檢閱分支、提取請求和相關工作流程資訊，以協助確保您不會刪除仍在使用中或工作未完成的儲存庫。如果您想要繼續，請輸入**刪除**，然後選擇**刪除**。

# 使用 Amazon CodeCatalyst 中的分支組織您的原始程式碼
<a name="source-branches"></a>

在 Git 中，分支是遞交的指標或參考。在開發時，分支可讓您的組織工作更輕鬆。您可以使用分支來分隔新版本或不同版本檔案的工作，而不會影響其他分支的工作。您可以使用分支來開發新功能、存放專案的特定版本等等。您可以設定來源儲存庫中分支的規則，將分支上的特定動作限制為該專案中的特定角色。

無論您如何建立，Amazon CodeCatalyst 中的來源儲存庫都有內容和預設分支。連結的儲存庫可能沒有預設分支或內容，但在您初始化它們並建立預設分支之前，CodeCatalyst 無法使用它們。當您使用藍圖建立專案時，CodeCatalyst 會為該專案建立來源儲存庫，其中包含 README.md 檔案、範例程式碼、工作流程定義和其他資源。當您不使用藍圖建立來源儲存庫時，系統會為您新增 README.md 檔案做為第一個遞交，並為您建立*預設分支*。此預設分支名為 *main*。此預設分支是在使用者複製儲存庫時，用作本機儲存庫 （儲存庫） 中基本或預設分支的分支。

**注意**  
您無法刪除預設分支。為來源儲存庫建立的第一個分支是該儲存庫的預設分支。此外，搜尋只會顯示預設分支的結果。您無法在其他分支中搜尋程式碼。

在 CodeCatalyst 中建立儲存庫也會建立第一個遞交，這會建立包含 README.md 檔案*的預設分支*。該預設分支的名稱為*主要*分支。這是本指南範例中使用的預設分支名稱。

**Topics**
+ [建立分支](source-create-delete-branch.md)
+ [管理儲存庫的預設分支](source-branches-default-branch.md)
+ [使用分支規則管理分支的允許動作](source-branches-branch-rules.md)
+ [分支的 Git 命令](source-branches-git.md)
+ [檢視分支和詳細資訊](source-branches-view.md)
+ [刪除分支](source-branches-delete.md)

# 建立分支
<a name="source-create-delete-branch"></a>

您可以使用 CodeCatalyst 主控台在 CodeCatalyst 儲存庫中建立分支。您建立的分支會在其他使用者下次從儲存庫提取變更時顯示。

**提示**  
您也可以建立分支，做為建立開發環境以處理程式碼的一部分。如需詳細資訊，請參閱[建立開發環境](devenvironment-create.md)。

您也可以使用 Git 來建立分支。如需詳細資訊，請參閱[分支的常見 Git 命令](source-branches-git.md#source-branches-git-table)。

**建立分支 （主控台）**

1. 在 CodeCatalyst 主控台中，導覽至來源儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇您要建立分支的儲存庫。

1. 在儲存庫的概觀頁面上，選擇**更多**，然後選擇**建立分支**。

1. 輸入分支的名稱。

1. 選擇要從中建立分支的分支，然後選擇**建立**。

# 管理儲存庫的預設分支
<a name="source-branches-default-branch"></a>

您可以指定要使用哪個分支做為 Amazon CodeCatalyst 中來源儲存庫*的預設分支*。CodeCatalyst 中的所有來源儲存庫都有內容和預設分支，無論您如何建立它們。如果您使用藍圖來建立專案，則為該專案建立的來源儲存庫中的預設分支會命名為*主要*分支。預設分支的內容會自動顯示在該儲存庫的概觀頁面上。

**重要**  
CodeCatalyst 不支援偵測連結儲存庫的預設分支中的變更。若要變更連結儲存庫的預設分支，您必須先將其從 CodeCatalyst 取消連結、變更預設分支，然後再次連結。如需詳細資訊，請參閱[在 CodeCatalyst 中連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-link.md)。  
最佳實務是，在連結儲存庫之前，請務必確保您擁有最新版本的擴充功能。

預設分支的處理方式與來源儲存庫中的所有其他分支略有不同。其名稱 **Default** 旁有一個特殊標籤。當使用者使用 Git 用戶端將儲存庫複製到本機電腦時，預設分支是做為本機儲存庫 （儲存庫） 中基本或預設分支的分支。它也是建立工作流程以存放工作流程 YAML 檔案，以及存放問題資訊的預設值。在 CodeCatalyst 中使用搜尋時，只會搜尋儲存庫的預設分支。由於預設分支對專案的許多層面至關重要，因此如果將分支指定為預設分支，則無法刪除分支。不過，您可以選擇使用不同的分支做為預設分支。如果您這麼做，任何套用至先前預設分支的[分支規則](source-branches-branch-rules.md)都會自動套用至您指定為預設分支的分支。

**注意**  
您必須擁有專案管理員角色，才能變更 CodeCatalyst 專案中來源儲存庫的預設分支。這不適用於連結的儲存庫。

**檢視和變更儲存庫的預設分支**

1. 導覽至儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視設定的儲存庫，包括預設分支。

1. 在儲存庫的概觀頁面上，選擇**更多**，然後選擇**管理設定**。

1. 在**預設分支**中，指定為預設分支的分支名稱會與名稱旁的名為**預設**的標籤一起顯示。這個相同的標籤會出現在分支中分支清單中**的分支**名稱旁。

1. 若要變更預設分支，請選擇**編輯**。
**注意**  
您必須在專案中具有專案管理員角色，才能變更預設分支。

1. 從下拉式清單中選擇您要建立預設分支的分支名稱，然後選擇**儲存**。

# 使用分支規則管理分支的允許動作
<a name="source-branches-branch-rules"></a>

當您建立分支時，根據該角色的許可，該分支允許特定動作。您可以設定分支規則來變更特定分支允許的動作。分支規則是根據使用者在專案中的角色。您可以選擇將一些預先定義的動作限制在專案中具有特定角色的使用者，例如將遞交推送至分支。這可以透過限制允許哪些角色執行特定動作，協助您保護專案中的特定分支。例如，如果您設定分支規則只允許具有**專案管理員**角色的使用者合併或推送至該分支，則具有專案中其他角色的使用者將無法變更該分支中的程式碼。

您應該仔細考慮為分支建立規則的所有影響。例如，如果您選擇限制向具有**專案管理員**角色的使用者推送分支，則具有 **Contributor **角色的使用者將無法在該分支中建立或編輯工作流程，因為工作流程 YAML 存放在該分支中，而且這些使用者無法遞交變更並將其推送至 YAML。作為最佳實務，請在建立分支規則之後對其進行測試，以確保它們不會對您不打算產生任何影響。您也可以使用分支規則搭配提取請求的核准規則。如需詳細資訊，請參閱[管理將提取請求與核准規則合併的要求](source-pull-requests-approval-rules.md)。

**注意**  
您必須擁有專案管理員角色，才能管理 CodeCatalyst 專案中來源儲存庫的分支規則。您無法為連結的儲存庫建立分支規則。  
您只能建立比角色預設許可更嚴格的分支規則。您無法建立比專案中使用者角色允許的更寬鬆的分支規則。例如，您無法建立允許具有 Reviewer 角色的使用者推送至分支的分支規則。

套用至來源儲存庫預設分支的分支規則的行為將與其他套用至其他分支的分支規則略有不同。套用至預設分支的任何規則都會自動套用至您指定為預設分支的任何分支。先前設定為預設分支的分支仍會保留套用至它的規則，但不再具有刪除保護。該保護僅適用於目前的預設分支。

分支規則有兩個狀態：**標準**和**自訂**。**標準**表示分支上允許的動作，是符合使用者在 CodeCatalyst 中具有的分支動作角色許可的動作。若要進一步了解哪些角色具有哪些許可，請參閱 [使用使用者角色授予存取權](ipa-roles.md)。**自訂**表示一或多個分支動作具有的動作具有特定的角色清單，允許執行該動作，該動作不同於專案中使用者角色授予的預設許可。

**注意**  
如果您建立分支規則來限制分支的一或多個動作，**則刪除分支**動作會自動設定為僅允許具有專案管理員角色的使用者刪除該分支。

下表列出允許在分支上執行這些動作之角色的動作和預設設定。


**分支動作和角色**  

| **分支動作** |  允許在未套用分支規則時執行此動作的角色  | 
| --- | --- | 
|  合併至分支 （包括合併提取請求至分支）  |  專案管理員，貢獻者  | 
|  推送至分支  |  專案管理員，貢獻者  | 
|  刪除分支  |  專案管理員，貢獻者  | 
|  刪除分支 （預設分支）  |  不允許  | 

 您無法刪除分支規則，但您可以更新這些規則，以允許來自允許在分支上執行此動作之所有角色的動作，這會有效地移除規則。

**注意**  
您必須擁有專案管理員角色，才能為 CodeCatalyst 專案中的來源儲存庫設定分支規則。這不適用於連結的儲存庫。連結的儲存庫不支援 CodeCatalyst 中的分支規則。<a name="view-edit-branch-rules"></a>

**檢視和編輯儲存庫的分支規則**

1. 導覽至儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視分支規則的儲存庫。

1. 在儲存庫的概觀頁面上，選擇**分支**。

1. 在**分支規則**欄中，檢視儲存庫每個分支的規則狀態。**標準**表示分支動作的規則是來源儲存庫中建立的任何分支的預設規則，並符合專案中授予這些角色的許可。**自訂**表示一或多個分支動作具有將該分支允許的一或多個動作限制為不同角色集的規則。

   若要檢視分支規則的詳細資訊，請選擇您要檢閱之分支旁的**標準**或**自訂**一詞。

1. 若要建立或變更分支規則，請選擇**管理設定**。在來源儲存庫的設定頁面上的**分支規則**中，選擇**編輯**。

1. 在**分支**中，從下拉式清單中選擇您要為其設定規則的分支名稱。對於每個允許的動作類型，從下拉式清單中選擇您要允許 執行該動作的角色，然後選擇**儲存**。

# 分支的 Git 命令
<a name="source-branches-git"></a>

您可以使用 Git 在電腦 （本機儲存庫） 或開發環境中的來源儲存庫複製中建立、管理和刪除分支，然後將變更遞交並推送至 CodeCatalyst 來源儲存庫 （遠端儲存庫）。例如：


**分支的常見 Git 命令**  

|  |  | 
| --- |--- |
|  列出本機儲存庫中的所有分支，並在您目前的分支旁顯示星號 (`*`)。  |  `git branch`  | 
|  將遠端儲存庫中所有現有分支的相關資訊提取至本機儲存庫。  |  `git fetch`  | 
|  列出本機儲存庫中的所有分支，以及本機儲存庫中的遠端追蹤分支。  |  `git branch -a`  | 
|  僅列出本機儲存庫中的遠端追蹤分支。  |  `git branch -r`  | 
|  使用指定的分支名稱在本機儲存庫中建立分支。在您遞交並推送變更之前，此分支不會出現在遠端儲存庫中。  |  `git branch branch-name`  | 
|  使用指定的分支名稱在本機儲存庫中建立分支，然後切換到該分支。  |  `git checkout -b branch-name`  | 
|  使用指定的分支名稱切換到本機儲存庫中的另一個分支。  |  `git checkout other-branch-name`  | 
|  使用本機儲存庫指定的遠端儲存庫別名和指定的分支名稱，將分支從本機儲存庫推送至遠端儲存庫。同時在本機儲存庫中設定分支的上游追蹤資訊。  |  `git push -u remote-name branch-name`  | 
|  將變更從本機儲存庫中的另一個分支合併到本機儲存庫中的目前分支。  |  `git merge from-other-branch-name`  | 
|  刪除本機儲存庫中的分支，除非其包含尚未合併的工作。  |  `git branch -d branch-name`  | 
|  使用本機儲存庫為遠端儲存庫指定的別名和指定的分支名稱，刪除遠端儲存庫中的分支。(注意冒號 (`:`) 的使用方式。) 或者，指定 `--delete`做為 命令的一部分。  | `git push remote-name :branch-name` `git push remote-name --delete branch-name`  | 

如需詳細資訊，請參閱 Git 文件。

# 檢視分支和詳細資訊
<a name="source-branches-view"></a>

您可以在 Amazon CodeCatalyst 主控台中檢視 Amazon CodeCatalyst 中遠端分支的相關資訊，包括特定分支的檔案、資料夾和最新遞交的詳細資訊。您也可以使用 Git 命令和本機作業系統來檢視遠端和本機分支的此資訊。<a name="source-branches-view-console"></a>

**檢視分支 （主控台）**

1. 在 CodeCatalyst 主控台中，導覽至包含您要檢視分支之來源儲存庫的專案。選擇**程式碼**，選擇**來源儲存庫**，然後選擇來源儲存庫。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視分支的儲存庫。

1. 儲存庫的預設分支隨即顯示。您可以查看分支中的檔案和資料夾清單、最新遞交的相關資訊，以及分支中存在的 README.md 檔案內容。若要檢視不同分支的資訊，請從儲存庫的分支下拉式清單中進行選擇。

1. 若要檢視儲存庫的所有分支，請選擇**檢視全部**。分支頁面會顯示每個分支的名稱、最新遞交和規則的相關資訊。

如需有關如何使用 Git 和您的作業系統來檢視分支和詳細資訊的資訊，請參閱[分支的通用 Git 命令](source-branches-git.md#source-branches-git-table)、您的 Git 文件和您的作業系統文件。

# 刪除分支
<a name="source-branches-delete"></a>

您可以刪除不再需要的分支。例如，如果您已將具有功能變更的分支合併為預設分支，且該功能已釋出，則您可能想要刪除原始功能分支，因為變更已經是預設分支的一部分。保持較低的分支數量有助於使用者尋找包含他們想要處理之變更的分支。當您刪除分支時，該分支的複本會保留在本機電腦上儲存庫的複製中，直到使用者提取並同步這些變更為止。<a name="source-branch-delete"></a>

**刪除分支 （主控台）**

1. 導覽至儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要刪除分支的儲存庫。

1. 在儲存庫的概觀頁面上，選擇分支名稱旁的下拉式選單，然後選擇**檢視全部**。

1. 選擇您要刪除的分支，然後選擇**刪除分支**。
**注意**  
您無法刪除儲存庫的預設分支。

1. 出現確認對話方塊。它會顯示儲存庫、開啟的提取請求數目，以及與分支相關聯的工作流程數目。

1. 若要確認刪除分支，請在文字方塊中輸入 **delete**，然後選擇 **Delete**。

您也可以使用 Git 刪除分支。如需詳細資訊，請參閱[分支的常見 Git 命令](source-branches-git.md#source-branches-git-table)。

# 在 Amazon CodeCatalyst 中管理原始程式碼檔案
<a name="source-files"></a>

在 Amazon CodeCatalyst 中，檔案是版本控制、獨立的資訊片段，可供您和存放檔案的來源儲存庫和分支的其他使用者使用。您可以使用目錄結構來組織儲存庫檔案。CodeCatalyst 會自動追蹤檔案的每個遞交變更。您可以在不同的儲存庫分支中存放不同版本的檔案。

若要在來源儲存庫中新增或編輯多個檔案，您可以使用 Git 用戶端、開發環境或整合式開發環境 (IDE)。若要新增或編輯單一檔案，您可以使用 CodeCatalyst 主控台。

**Topics**
+ [建立或新增檔案](source-files-create.md)
+ [檢視檔案](source-files-view.md)
+ [檢視檔案變更的歷史記錄](source-files-view-history.md)
+ [編輯檔案](source-files-edit.md)
+ [重新命名或刪除檔案](source-files-delete.md)

# 建立或新增檔案
<a name="source-files-create"></a>

若要建立檔案並將其新增至來源儲存庫，您可以使用 Amazon CodeCatalyst 主控台、開發環境、連線的整合式開發環境 (IDE) 或 Git 用戶端。CodeCatalyst 主控台包含用於建立檔案的程式碼編輯器。此編輯器是在儲存庫的分支中建立或編輯簡單檔案的便利方式，例如 README.md 檔案。處理多個檔案時，請考慮[建立開發環境](devenvironment-create.md)。

**從來源儲存庫建立開發環境**

1. 開啟 CodeCatalyst 主控台，網址為 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇您要處理程式碼的來源儲存庫。

1. 選擇**建立開發環境**。

1. 從下拉式選單中選擇支援的 IDE。如需詳細資訊，請參閱[支援開發環境的整合式開發環境](devenvironment-create.md#devenvironment-supported-ide)。

1. 執行以下任意一項：
   + 選擇在**現有分支中工作**，然後從**現有分支下拉式功能表中選擇分支**。
   + 選擇在**新分支中工作**，在**分支名稱**欄位中輸入分支名稱，然後從從建立分支下拉式功能表中選擇要建立新**分支**的分支。

1. 選擇性地新增開發環境的名稱或編輯其組態。

1. 選擇**建立**。

**在 CodeCatalyst 主控台中建立檔案**

1. 導覽至您要建立檔案的專案。如需如何導覽至儲存庫的詳細資訊，請參閱 [檢視來源儲存庫](source-repositories-view.md)。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要建立檔案的儲存庫。

1. （選用） 如果您想要在與預設分支不同的分支中建立檔案，請選擇您要建立檔案的分支。

1. 選擇**建立檔案**。

1. 在檔案名稱中輸入**檔案名稱**。在編輯器中新增檔案的內容。
**提示**  
如果您想要在分支根目錄的子資料夾或子目錄中建立檔案，請在檔案名稱中包含該結構。

   當您對變更感到滿意時，請選擇**遞交**。

1. 在**檔案名稱**中，檢閱檔案名稱，並進行任何您可能想要的變更。選擇性地選擇您要從分支中可用分支清單中建立檔案的**分支**。在**遞交訊息**中，選擇性地輸入簡短但資訊豐富的描述，說明您進行此變更的原因。這會顯示為將檔案新增至來源儲存庫之遞交的基本遞交資訊。

1. 選擇**遞交**以遞交檔案，並將檔案推送至來源儲存庫。

您也可以將檔案複製到本機電腦，並使用 Git 用戶端或連線的整合式開發環境 (IDE) 來推送檔案和變更，藉此將檔案新增至來源儲存庫。

**注意**  
如果您想要新增 Git 子模組，您必須使用 Git 用戶端或開發環境並執行 **git submodule add**命令。您無法在 CodeCatalyst 主控台中新增或檢視 Git 子模組，或檢視提取請求中 Git 子模組的差異。如需 Git 子模組的詳細資訊，請參閱 [Git 文件](https://git-scm.com/book/en/v2/Git-Tools-Submodules)。<a name="source-files-add-git"></a>

**使用 Git 用戶端或連線的整合式開發環境 (IDE) 新增檔案**

1. 將來源儲存庫複製到本機電腦。如需詳細資訊，請參閱[複製來源儲存庫](source-repositories-clone.md)。

1. 在本機儲存庫中建立檔案，或將檔案複製到本機儲存庫。

1. 執行下列其中一項操作來建立和推送遞交：
   + 如果您使用的是 Git 用戶端，請在終端機或命令列執行 **git add**命令，指定您要新增的檔案名稱。或者，若要新增所有新增或變更的檔案，請執行 **git add**命令，後面接著單一或雙期間，指出您要包含目前目錄層級 （單一期間） 的所有變更，還是目前目錄和所有子目錄 （雙期間） 中的所有變更。若要遞交變更，請執行 **git commit -m**命令並提供遞交訊息。若要將變更推送至 CodeCatalyst 中的來源儲存庫，請執行 **git push**。如需 Git 命令的詳細資訊，請參閱您的 Git 文件和 [分支的 Git 命令](source-branches-git.md)。
   + 如果您使用的是開發環境或 IDE，請建立檔案並在 IDE 中新增檔案，然後遞交和推送您的變更。如需詳細資訊，請參閱 [在 CodeCatalyst 中使用開發環境撰寫和修改程式碼使用開發環境撰寫和修改程式碼](devenvironment.md)或參閱 IDE 文件。

# 檢視檔案
<a name="source-files-view"></a>

您可以在 Amazon CodeCatalyst 主控台中檢視來源儲存庫中的檔案。您可以在預設分支和任何其他分支中檢視檔案。檔案內容可能會因您選擇檢視的分支而有所不同。

**在 CodeCatalyst 主控台中檢視檔案**

1. 導覽至您要檢視檔案的專案。如需詳細資訊，請參閱[檢視來源儲存庫](source-repositories-view.md)。

1. 

   從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視檔案的儲存庫。

1. 會顯示預設分支的檔案和資料夾清單。檔案以紙質圖示表示，資料夾則以資料夾圖示表示。

1. 執行下列任何一項：
   + 若要檢視不同分支中的檔案和資料夾，請從分支清單中選擇它。
   + 若要展開資料夾，請從清單中選擇。

1. 若要檢視特定檔案的內容，請從清單中選擇它。檔案的內容會顯示在分支中。若要檢視不同分支中檔案的內容，請從分支選取器中選擇您想要的分支。
**提示**  
檢視檔案的內容時，您可以從檢視檔案選擇要**檢視的其他檔案**。若要編輯檔案，請選擇**編輯**。

您可以在 主控台中檢視多個檔案。您也可以使用 Git 用戶端或整合式開發環境 (IDE) 來檢視複製到本機電腦的檔案。如需詳細資訊，請參閱 Git 用戶端或 IDE 的文件。

**注意**  
您無法在 CodeCatalyst 主控台中檢視 Git 子模組。如需 Git 子模組的詳細資訊，請參閱 [Git 文件](https://git-scm.com/book/en/v2/Git-Tools-Submodules)。

# 檢視檔案變更的歷史記錄
<a name="source-files-view-history"></a>

您可以在 Amazon CodeCatalyst 主控台中檢視來源儲存庫中檔案變更的歷史記錄。這可協助您了解各種遞交至您選擇檢視檔案歷史記錄的分支對檔案所做的變更。例如，如果您檢視來源儲存庫**main**分支中**readme.md**檔案變更的歷史記錄，您會看到包含該分支中該檔案變更的遞交清單。

**注意**  
您無法在 CodeCatalyst 主控台中檢視連結儲存庫中的檔案歷史記錄。<a name="source-files-view-file-history-console"></a>

# 在 CodeCatalyst 主控台中檢視檔案的歷史記錄
<a name="source-files-view-file-history-console"></a>

1. 導覽至您要檢視檔案歷史記錄的專案。如需詳細資訊，請參閱[檢視來源儲存庫](source-repositories-view.md)。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇您要檢視檔案歷史記錄的儲存庫。選擇您要檢視檔案歷史記錄的分支，然後從清單中選擇檔案。選擇 **View history (檢視歷程記錄)**。

1. 檢閱指定分支中包含此檔案變更的遞交清單。若要檢視特定遞交中包含的變更詳細資訊，請在清單中選擇該遞交的遞交訊息。該遞交與其父遞交之間的差異隨即顯示。

1. 若要檢閱另一個分支中檔案變更的歷史記錄，請使用分支選取器將檢視變更為該分支，從檔案清單中選擇檔案，然後選擇**檢視歷史記錄**。

**注意**  
您無法在 CodeCatalyst 主控台中檢視 Git 子模組變更的歷史記錄。如需 Git 子模組的詳細資訊，請參閱 [Git 文件](https://git-scm.com/book/en/v2/Git-Tools-Submodules)。

# 編輯檔案
<a name="source-files-edit"></a>

您可以在 Amazon CodeCatalyst 主控台中編輯個別檔案。若要一次編輯多個檔案，請建立開發環境或複製儲存庫，並使用 Git 用戶端或整合式開發環境 (IDE) 進行變更。如需詳細資訊，請參閱 [在 CodeCatalyst 中使用開發環境撰寫和修改程式碼使用開發環境撰寫和修改程式碼](devenvironment.md) 或 [複製來源儲存庫](source-repositories-clone.md) 。

**在 CodeCatalyst 主控台中編輯檔案**

1. 導覽至您要編輯檔案的專案。如需如何導覽至儲存庫的詳細資訊，請參閱 [檢視來源儲存庫](source-repositories-view.md)。

1. 選擇您要編輯檔案的儲存庫。選擇**檢視分支**，然後選擇您要使用的分支。從該分支中的檔案和資料夾清單中選擇檔案。

   檔案的內容隨即顯示。

1. 選擇**編輯**。

1. 在編輯器中，編輯檔案的內容，然後選擇**遞交**。或者，在**遞交變更**中，新增有關**遞交訊息**中變更的詳細資訊。當您對變更感到滿意時，請選擇**遞交**。

# 重新命名或刪除檔案
<a name="source-files-delete"></a>

您可以在開發環境、本機電腦或整合式開發環境 (IDE) 中重新命名或刪除檔案。重新命名或刪除檔案後，請遞交這些變更並將其推送至來源儲存庫。您無法在 Amazon CodeCatalyst 主控台中重新命名或刪除檔案。

# 在 Amazon CodeCatalyst 中使用提取請求檢閱程式碼
<a name="source-pull-requests"></a>

提取請求是您和其他專案成員可以檢閱、評論和合併不同分支程式碼變更的主要方式。您可以使用提取請求，針對發行軟體的次要變更或修正、主要功能新增或新版本，協同檢閱程式碼變更。如果您使用問題來追蹤專案上的工作，您可以連結特定問題來提取請求，以協助您追蹤提取請求中的程式碼變更正在解決的問題。當您建立、更新、評論、合併或關閉提取請求時，系統會自動傳送電子郵件給提取請求的作者，以及提取請求的任何必要或選用檢閱者。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。

提取請求需要來源儲存庫中的兩個分支：包含您要檢閱之程式碼的來源分支，以及您要合併已檢閱程式碼的目的地分支。來源分支包含「之後」遞交，此遞交包含您想要合併到目的地分支的變更。目的地分支包含「之前」遞交，這代表提取請求分支合併到目的地分支之前的程式碼狀態。

**注意**  
當您建立提取請求時，所顯示的差異是來源分支的尖端與目的地分支的尖端之間的差異。建立提取請求後，所顯示的差異會在您選擇的提取請求修訂版與建立提取請求時目的地分支頂端的遞交之間。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

當針對特定來源儲存庫和分支建立提取請求時，您可以建立、檢視、檢閱和關閉它們，作為使用專案的一部分。您不需要檢視來源儲存庫，即可檢視和使用提取請求。提取請求狀態會在您建立時設定為**開啟**。提取請求會保持開啟狀態，直到您在 CodeCatalyst 主控台中將其合併，將狀態變更為**合併**，或將其關閉，將狀態變更為**關閉**。

檢閱程式碼後，您可以透過下列其中一種方式變更提取請求狀態：
+ 在 CodeCatalyst 主控台中合併提取請求。提取請求來源分支中的程式碼會合併到目的地分支。提取請求狀態會變更為**合併**。它無法變更回**開啟**。
+ 在本機合併分支並推送變更，然後在 CodeCatalyst 主控台中關閉提取請求。
+ 使用 CodeCatalyst 主控台關閉提取請求而不合併。這會將狀態變更為**已關閉**，而且不會將來源分支中的程式碼合併到目的地分支。

在您建立提取請求之前：
+ 遞交您要檢閱的程式碼變更，並將其推送至分支 （來源分支）。
+ 為您的專案設定通知，以便其他使用者收到您在建立提取請求時執行的任何工作流程的通知。（此步驟是選用的，但建議使用。)

**Topics**
+ [建立提取請求](pull-requests-create.md)
+ [檢視提取請求](pull-requests-view.md)
+ [管理將提取請求與核准規則合併的要求](source-pull-requests-approval-rules.md)
+ [檢閱提取請求](pull-requests-review.md)
+ [更新提取請求](pull-requests-update.md)
+ [合併提取請求](pull-requests-merge.md)
+ [關閉提取請求](pull-requests-close.md)

# 建立提取請求
<a name="pull-requests-create"></a>

建立提取請求可協助其他使用者在您將程式碼變更合併到另一個分支之前，查看和檢閱您的程式碼變更。首先，您會為程式碼變更建立分支。這稱為提取請求的來源分支。將變更遞交並推送至儲存庫之後，您可以建立提取請求，將來源分支的內容與目的地分支的內容進行比較。

您可以從特定分支、提取請求頁面或專案概觀，在 Amazon CodeCatalyst 主控台中建立提取請求。從特定分支建立提取請求會自動在提取請求建立頁面上提供儲存庫名稱和來源分支。當您建立提取請求時，您會自動收到有關提取請求的任何更新，以及提取請求何時合併或關閉的電子郵件。

**注意**  
當您建立提取請求時，所顯示的差異是來源分支的尖端與目的地分支的尖端之間的差異。建立提取請求後，所顯示的差異將是您選擇的提取請求修訂與建立提取請求時目的地分支頂端的遞交之間。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

您可以在建立提取請求時**為我使用寫入描述**功能，讓 Amazon Q 自動建立提取請求中包含的變更描述。當您選擇此選項時，Amazon Q 會分析包含程式碼變更的來源分支與您要合併這些變更的目的地分支之間的差異。然後，它會建立這些變更的摘要，以及這些變更意圖和效果的最佳解釋。此功能僅適用於美國西部 （奧勒岡） 區域的 CodeCatalyst 提取請求。**我的寫入描述**功能不適用於連結儲存庫中的提取請求。

**注意**  
**採用 Amazon Bedrock 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。

**建立提取請求**

1. 導覽至您的專案。

1. 執行以下任意一項：
   + 在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇**建立提取請求**。
   + 在儲存庫首頁上，選擇**更多**，然後選擇**建立提取請求**。
   + 在專案頁面上，選擇**建立提取請求**。

1. 在**來源儲存庫**中，請確定指定的來源儲存庫包含遞交的程式碼。只有在您未從儲存庫的主頁面建立提取請求時，才會顯示此選項。

1. 在**目的地分支**中，選擇要在檢閱程式碼之後將程式碼合併到其中的分支。

1. 在**來源分支**中，選擇包含遞交程式碼的分支。

1. 在**提取請求標題**中，輸入標題，以協助其他使用者了解需要檢閱的內容和原因。

1. （選用） 在**提取請求描述**中，提供問題連結或變更描述等資訊。
**提示**  
您可以選擇**寫入描述，**讓 CodeCatalyst 自動產生提取請求中包含的變更描述。您可以在將自動產生的描述新增至提取請求之後對其進行變更。  
此功能需要為空間啟用生成式 AI 功能，且不適用於連結儲存庫中的提取請求。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要檢閱者和選用檢閱者。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。在提取請求可以合併到目的地分支之前，選用檢閱者不需要核准變更。

1. 檢閱分支之間的差異。提取請求中顯示的差異是來源分支中的修訂與合併基礎之間的變更，這是建立提取請求時目的地分支的前端遞交。如果沒有顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. 當您滿意提取請求包含您要檢閱的程式碼和變更時，請選擇**建立**。
**注意**  
建立提取請求之後，您可以新增註解。評論可以新增到提取請求或檔案中的個別行，以及整體提取請求。您可以使用 @ 符號加上檔案名稱，以新增資源的連結，例如檔案。<a name="pull-requests-create-from-branch"></a>

**從分支建立提取請求**

1. 導覽至您要建立提取請求的專案。

1. 在導覽窗格中，選擇**來源儲存庫**，然後選擇包含您要檢閱程式碼變更之分支的儲存庫。

1. 選擇預設分支名稱旁的下拉式箭頭，然後從清單中選擇您想要的分支。若要檢視儲存庫的所有分支，請選擇**檢視全部**。

1. 選擇**更多**，然後選擇**建立提取請求**。

1. 儲存庫和來源分支會為您預先選取。在**目的地分支**中，選擇檢閱後要合併程式碼的分支。在**提取請求標題**中，輸入標題，以協助其他專案使用者了解必須檢閱的內容及其原因。或者，在**提取請求描述**中提供更多資訊，例如貼上 CodeCatalyst 中相關問題的連結，或新增您所做的變更描述。
**注意**  
如果提取請求的目的地分支符合工作流程中指定的其中一個分支，則設定為針對提取請求建立事件執行的工作流程將在建立提取請求之後執行。

1. 檢閱分支之間的差異。如果未顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要和選用。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。選用檢閱者不需要核准變更，才能將提取請求合併到目的地分支。

1. 當您滿意提取請求包含您想要檢閱的變更，並包含必要的檢閱者時，請選擇**建立**。

如果您有任何工作流程設定為在分支與提取請求中的目的地分支相符的情況下執行，則在提取請求建立後，您會在**提取請求詳細資訊**區域中的**概觀**中看到這些工作流程執行的相關資訊。如需詳細資訊，請參閱[將觸發條件新增至工作流程](workflows-add-trigger-add.md)。

# 檢視提取請求
<a name="pull-requests-view"></a>

您可以在 Amazon CodeCatalyst 主控台中檢視專案的提取請求。專案摘要頁面會顯示專案的所有開啟提取請求。若要檢視所有提取請求，無論狀態為何，請導覽至專案的提取請求頁面。檢視提取請求時，您可以選擇對為您建立的提取請求的變更保留所有評論的摘要。

**注意**  
**採用 Amazon Bedrock 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。<a name="pull-requests-view-open-project"></a>

**檢視開啟的提取請求**

1. 導覽至您要檢視提取請求的專案。

1. 在專案頁面上，會顯示開啟的提取請求，包括建立提取請求的人員、包含提取請求分支的儲存庫，以及提取請求建立日期的相關資訊。您可以依來源儲存庫篩選開啟的提取請求檢視。

1. 若要檢視所有提取請求，請選擇**檢視全部**。您可以使用選取器在選項之間進行選擇。例如，若要檢視所有提取請求，請選擇**任何狀態**和**任何作者**。

   或者，在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**，然後使用選取器來縮小檢視範圍。

1. 在**提取請求**頁面上，您可以依 ID、標題、狀態等排序提取請求。若要自訂提取請求頁面上顯示的資訊和資訊，請選擇齒輪圖示。

1. 若要檢視特定的提取請求，請從清單中選擇它。

1. 若要檢視與此提取請求相關聯的工作流程執行狀態，請選擇**概觀**，然後在**工作流程執行**下提取請求的提取請求**詳細資訊**區域中檢閱資訊。

   如果工作流程設定了提取請求建立或修訂事件，且工作流程中的目的地分支要求符合提取請求中指定的目的地分支，則會發生工作流程執行。如需詳細資訊，請參閱[將觸發條件新增至工作流程](workflows-add-trigger-add.md)。

1. 若要檢視連結的問題，請選擇**概觀**，並檢閱**問題**下**提取請求詳細資訊**中的資訊。如果您想要檢視連結的問題，請從清單中選擇其 ID。

1. （選用） 若要在提取請求的修訂中建立程式碼變更上留下的註解摘要，請選擇**建立內容摘要**。摘要不會包含整體提取請求上留下的任何註解。
**注意**  
此功能需要為空間啟用生成式 AI 功能，不適用於連結的儲存庫，並且僅適用於美國西部 （奧勒岡） 區域。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 若要檢視提取請求中的程式碼變更，請選擇**變更**。您可以在變更的檔案中，快速檢視提取請求中有多少檔案有變更，以及提取請求中的哪些**檔案**有註解。資料夾旁顯示的註解數目表示該資料夾中檔案的註解數目。展開 資料夾以檢視資料夾中每個檔案的註解數量。您也可以檢視特定程式碼行上留下的任何註解。

   
**注意**  
並非所有提取請求中的變更都會顯示在主控台中。例如，您無法在主控台中檢視 Git 子模組，因此您無法在提取請求中檢視子模組的差異。有些差異可能太大而無法顯示。如需詳細資訊，請參閱[CodeCatalyst 中來源儲存庫的配額](source-quotas.md)及[檢視檔案檢視檔案變更的歷史記錄](source-files-view.md)。

1. 若要檢視此提取請求的品質報告，請選擇**報告**。
**注意**  
工作流程必須設定為產生報告，以便它們出現在您的提取請求中。如需詳細資訊，請參閱[使用工作流程進行測試使用工作流程進行測試](test-workflow-actions.md)。

# 管理將提取請求與核准規則合併的要求
<a name="source-pull-requests-approval-rules"></a>

當您建立提取請求時，您可以選擇將必要或選用的檢閱者新增至該個別提取請求。不過，您也可以建立所有提取請求在合併到特定目的地分支時必須符合的要求。這些要求稱為核准規則。針對儲存庫中的分支設定核准規則。當您建立提取請求，其目的地分支已為其設定核准規則時，除了任何必要檢閱者的核准之外，您還必須符合該規則的要求，才能將提取請求合併到該分支。建立核准規則可協助您維持合併至分支的品質標準，例如預設分支。

套用至來源儲存庫預設分支的核准規則的行為將與其他套用至其他分支的核准規則略有不同。套用至預設分支的任何規則都會自動套用至您指定為預設分支的任何分支。先前設定為預設分支的分支仍會保留規則。

當您建立核准規則時，您應該考慮目前和未來專案使用者將如何符合該規則。例如，如果您的專案中有六個使用者，而且您建立的核准規則需要五個核准才能合併到目的地分支，則您已有效地建立規則，除了建立提取佇列的人員之外，每個人都需要核准該提取請求才能合併。

**注意**  
您必須擁有專案管理員角色，才能在 CodeCatalyst 專案中建立和管理核准規則。您無法為連結的儲存庫建立核准規則。

 您無法刪除核准規則，但您可以將其更新為需要零核准，這會有效地移除規則。<a name="view-edit-approval-rules"></a>

**檢視和編輯提取請求目的地分支的核准規則**

1. 導覽至儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視核准規則的儲存庫。

1. 在儲存庫的概觀頁面上，選擇**分支**。

1. 在**核准規則**欄中，選擇**檢視**以查看儲存庫每個分支的任何規則狀態。

   在**核准數量下限**中，數字對應到提取請求可以合併到該分支之前所需的核准數量。

1. 若要建立或變更核准規則，請選擇**管理設定**。在來源儲存庫的設定頁面上，於**核准規則**中選擇**編輯**。
**注意**  
您必須擁有**專案管理員**角色才能編輯核准規則。

1. 在**分支**中，從下拉式清單中選擇您要為其設定核准規則的分支名稱。在**核准數量下限**中，輸入數字，然後選擇**儲存**。

# 檢閱提取請求
<a name="pull-requests-review"></a>

您可以使用 Amazon CodeCatalyst 主控台，協同檢閱和評論提取請求中包含的變更。您可以在來源和目的地分支之間的差異中，或提取請求的修訂之間的差異中，將註解新增至個別程式碼行。您可以選擇建立提取請求中程式碼變更上留下的評論摘要，以協助您快速了解其他使用者留下的意見回饋。您也可以選擇建立開發環境來處理程式碼。

**注意**  
**採用 Amazon Bedrock 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。<a name="merge-base"></a>

提取請求會顯示提取請求的修訂與建立提取請求時目的地分支尖端的遞交之間的差異。這稱為合併基礎。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

**提示**  
在主控台中工作時，特別是如果您已開啟提取請求一段時間，請考慮重新整理瀏覽器，以確保您在開始檢閱提取請求之前有可用的最新修訂。

**在 CodeCatalyst 主控台中檢閱提取請求**

1. 導覽至您的專案。

1. 透過執行下列其中一項操作，導覽至提取請求：
   + 如果提取請求列在專案頁面上，請從清單中選擇它。
   + 如果提取請求未列在專案頁面上，請選擇**檢視全部**。使用篩選條件和排序來尋找提取請求，然後從清單中選擇它。
   + 在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**。

1. 從清單中選擇您要檢閱的提取請求。您可以在篩選列中輸入其部分名稱，以篩選提取請求的清單。

1. 在**概觀**中，您可以檢閱提取請求的名稱和標題。您可以建立和檢視提取請求本身上留下的評論。您也可以檢視提取請求的詳細資訊，包括工作流程執行、連結問題、檢閱者、提取請求的作者，以及可行合併策略的相關資訊。
**注意**  
在特定程式碼行上留下的註解會顯示在**變更**中。

1. （選用） 若要新增套用至整個提取請求的註解，請展開**提取請求的註解**，然後選擇**建立註解**。

1. （選用） 若要檢視此提取請求修訂中變更時留下的所有註解摘要，請選擇**建立註解摘要**。
**注意**  
此功能需要為空間啟用生成式 AI 功能，並且僅適用於美國西部 （奧勒岡） 區域。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 在**變更**中，您可以看到目的地分支與提取請求的最新修訂之間的差異。如果有一個以上的修訂，您可以變更要比較哪些修訂之間的差異。如需修訂的詳細資訊，請參閱 [修訂](source-concepts.md#revision-concept)。
**提示**  
您可以在變更的檔案中，快速檢視提取請求中有多少檔案有變更，以及提取請求中的哪些**檔案**有註解。資料夾旁顯示的註解數目表示該資料夾中檔案的註解數目。展開 資料夾以檢視資料夾中每個檔案的註解數量。

1. 若要變更差異的顯示方式，請選擇**統一**和**分割**。

1. 若要將註解新增至提取請求中的一行，請前往您要註解的行。選擇該行出現的註解圖示，輸入註解，然後選擇**儲存**。

1. 若要檢視提取請求中修訂之間的變更，或其來源和目的地分支之間的變更，請從**比較**中的可用選項中進行選擇。修訂中的行註解會保留在這些修訂中。

1. 如果您已將工作流程設定為針對提取請求觸發產生程式碼涵蓋範圍報告，您可以在相關的提取請求中檢視行和分支涵蓋範圍問題清單。若要隱藏程式碼涵蓋範圍問題清單，請選擇**隱藏程式碼涵蓋範圍**。如需詳細資訊，請參閱[程式碼涵蓋範圍報告](test-workflow-actions.md#test-code-coverage-reports)。

1. 如果您想要對提取請求進行程式碼變更，您可以從提取請求建立開發環境。選擇**建立開發環境**。選擇性地新增開發環境的名稱或編輯其組態，然後選擇**建立**。

1. 在 **報告中**，您可以檢視此提取請求中的品質報告。如果有一個以上的修訂，您可以變更要比較哪些修訂之間的差異。您可以依名稱、狀態、工作流程、動作和類型篩選報告。
**注意**  
工作流程必須設定為產生報告，以便它們出現在您的提取請求中。如需詳細資訊，請參閱[在 動作中設定品質報告](test-config-action.md)。

1. 若要檢視特定報告，請從清單中選擇它。如需詳細資訊，請參閱[使用工作流程進行測試使用工作流程進行測試](test-workflow-actions.md)。

1. 如果您被列為此提取請求的檢閱者，並想要核准變更，請確定您正在檢視最新的修訂，然後選擇**核准**。
**注意**  
所有必要的檢閱者必須先核准提取請求，才能合併。

# 更新提取請求
<a name="pull-requests-update"></a>

您可以更新提取請求，讓其他專案成員更輕鬆地檢閱程式碼。您可以更新提取請求，以變更其檢閱者、問題的連結、提取請求的標題或其描述。例如，您可能想要變更提取請求的必要檢閱者，以移除休假中的某人，並新增其他人。您也可以透過將遞交推送至開啟提取請求的來源分支，以進一步變更程式碼來更新提取請求。每個推送到 CodeCatalyst 來源儲存庫中提取請求的來源分支都會建立修訂。專案成員可以檢視提取請求中修訂之間的差異。<a name="pull-requests-update-reviewers"></a>

**更新提取請求的檢閱者**

1. 導覽至您要更新提取請求檢閱者的專案。

1. 在專案頁面的**開啟提取請求**下，選擇您要更新檢閱者的提取請求。或者，在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇您要更新的提取請求。

1. （選用） 在**概觀**中，在**提取請求詳細資訊**區域中，選擇加號以新增必要或選用的檢閱者。選擇檢閱者旁的 **X**，將其移除為選用或必要檢閱者。

   

1. （選用） 在**概觀**中，在**提取請求詳細資訊**區域中，選擇**連結問題**以將問題連結至提取請求，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇您要取消連結的問題旁邊的取消連結圖示。<a name="pull-requests-update-code"></a>

**更新提取請求來源分支中的檔案和程式碼**

1. 若要更新多個檔案，[請建立開發環境](devenvironment-create.md)，或複製儲存庫及其來源分支，並使用 Git 用戶端或整合式開發環境 (IDE) 對來源分支中的檔案進行變更。遞交變更並推送至 CodeCatalyst 來源儲存庫中的來源分支，以自動更新提取請求與變更。如需詳細資訊，請參閱[複製來源儲存庫](source-repositories-clone.md)及[了解 Amazon CodeCatalyst 中具有遞交的原始程式碼變更](source-commits.md)。

1. 若要更新來源分支中的個別檔案，您可以像使用多個檔案一樣使用 Git 用戶端或 IDE。您也可以直接在 CodeCatalyst 主控台中進行編輯。如需詳細資訊，請參閱[編輯檔案](source-files-edit.md)。<a name="pull-requests-update-pull-request"></a>

**更新提取請求的標題和描述**

1. 導覽至您要更新提取請求標題或描述的專案。

1. 專案頁面會顯示開啟的提取請求，包括建立提取請求的人員、包含提取請求分支的儲存庫，以及提取請求建立的時間。您可以依來源儲存庫篩選開啟的提取請求檢視。從清單中選擇您要變更的提取請求。

1. 若要檢視所有提取請求，請選擇**檢視全部**。或者，在導覽窗格中，選擇**程式碼**，然後選擇**提取請求**。使用篩選方塊或排序函數來尋找您要變更的提取請求，然後選擇它。

1.  在**概觀**中，選擇**編輯**。

1. 變更標題或描述，然後選擇**儲存**。

# 合併提取請求
<a name="pull-requests-merge"></a>

在檢閱您的程式碼並核准所有必要的檢閱者之後，您可以使用支援的合併策略，例如快轉，在 CodeCatalyst 主控台中合併提取請求。並非所有 CodeCatalyst 主控台支援的合併策略都可以作為所有提取請求的選擇。CodeCatalyst 會評估合併，而且只允許您在主控台中可用的合併策略之間進行選擇，並且能夠將來源分支合併到目的地分支。您也可以在本機電腦或開發環境上執行 **git merge**命令，將來源分支合併到目的地分支，以將提取請求與您選擇的 Git 合併策略合併。然後，您可以將目的地分支中的這些變更推送到 CodeCatalyst 中的來源儲存庫。

**注意**  
在 Git 中合併分支並推送變更不會自動關閉提取請求。

如果您有專案管理員角色，您也可以選擇合併尚未符合核准和核准規則所有要求的提取請求。

## 合併提取請求 （主控台）
<a name="pull-requests-merge-console"></a>

如果來源和目的地分支之間沒有合併衝突，而且所有必要的檢閱者都已核准提取請求，您可以在 CodeCatalyst 主控台中合併提取請求。如果有衝突，或合併無法完成，合併按鈕會處於非作用中狀態，並顯示**不可合併**標籤。在這種情況下，您必須取得任何必要核准者的核准、視需要在本機解決衝突，並推送這些變更，才能合併。合併提取請求會自動傳送電子郵件給提取請求的建立者，以及任何必要或選用的檢閱者。它不會自動關閉或變更與提取請求連結的任何問題的狀態。

**提示**  
您可以設定在設定檔中接收電子郵件的提取請求事件。如需詳細資訊，請參閱[從 CodeCatalyst 傳送 Slack 和電子郵件通知](notifications-manage.md)。<a name="pull-requests-merge-console"></a>

**合併提取請求**

1. 導覽至您要合併提取請求的專案。

1. 在專案頁面的**開啟提取請求**下，選擇您要合併的提取請求。如果您沒有看到提取請求，請選擇**檢視所有提取請求**，然後從清單中選擇它。或者，在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇您要合併的提取請求。選擇 **Merge (合併)**。

1. 從提取請求的可用合併策略中選擇。或者，選取或取消選取在合併提取請求後刪除來源分支的選項，然後選擇**合併**。
**注意**  
如果**合併**按鈕處於非作用中狀態，或者您看到**不可合併**標籤，則所需的檢閱者尚未核准提取請求，或者提取請求無法在 CodeCatalyst 主控台中合併。尚未核准提取請求的檢閱者會以**概觀**中**提取請求詳細資訊**區域中的時鐘圖示表示。如果所有必要的檢閱者都已核准提取請求，但**合併**按鈕仍處於非作用中狀態，則可能會發生合併衝突。選擇底線**的不可合併**標籤，以查看為何無法合併提取請求的更多詳細資訊。您可以在開發環境或 CodeCatalyst 主控台中解決目的地分支的合併衝突，然後合併提取請求，或者您可以解決衝突並在本機合併，然後將包含合併的遞交推送至 CodeCatalyst 中的來源分支。如需詳細資訊，請參閱 [合併提取請求 (Git)](#pull-requests-merge-git)和您的 Git 文件。

## 覆寫合併需求
<a name="pull-requests-merge-override"></a>

如果您有**專案管理員**角色，您可以選擇合併尚未符合必要核准和核准規則的所有要求的提取請求。這稱為覆寫提取請求的要求。如果必要的檢閱者無法使用，或者出現將特定提取請求合併到無法快速滿足核准規則的分支的緊急需求，您可以選擇這樣做。<a name="pull-requests-merge-console"></a>

**合併提取請求**

1. 在您要覆寫需求並合併的提取請求中，選擇**合併**按鈕旁的下拉式箭頭。選擇**覆寫核准需求**。

1. 在**覆寫原因**中，提供合併此提取請求的原因詳細資訊，而不滿足核准規則和必要的檢閱者要求。雖然這是選用的，但強烈建議這樣做。

1. 選擇性地選擇合併策略，或接受預設值。您也可以選擇使用更多詳細資訊來更新自動產生的遞交訊息。

1. 選取或取消選取合併時刪除來源分支的選項。我們建議您在覆寫合併提取請求的需求時保留來源分支，直到您有機會與其他團隊成員檢閱決策為止。

1. 選擇 **Merge (合併)**。

## 合併提取請求 (Git)
<a name="pull-requests-merge-git"></a>

Git 支援許多合併和管理分支的選項。下列命令是您可以使用的一些選項。如需詳細資訊，請參閱 [Git 網站上的](https://git-scm.com/doc)可用文件。合併並推送變更後，請手動關閉提取請求。如需詳細資訊，請參閱[關閉提取請求](pull-requests-close.md)。


**合併分支的常見 Git 命令**  

|  |  | 
| --- |--- |
|  將本機儲存庫中的來源分支變更合併至本機儲存庫中的目的地分支。  |  `git checkout destination-branch-name` `git merge source-branch-name`  | 
|  將來源分支合併到目的地分支，指定快速向前合併。這會合併分支，並將目的地分支指標移至來源分支的頂端。  |  `git checkout destination-branch-name` `git merge --ff-only source-branch-name`  | 
|  將來源分支合併到目的地分支，指定小隊合併。這會將來源分支的所有遞交合併為目的地分支中的單一合併遞交。  |  `git checkout destination-branch-name` `git merge --squash source-branch-name`  | 
|  將來源分支合併到目的地分支，指定三向合併。這會建立合併遞交，並將個別遞交從來源分支新增至目的地分支。  |  `git checkout destination-branch-name` `git merge --no-ff source-branch-name`  | 
|  刪除本機儲存庫中的來源分支。在合併至目的地分支並將變更推送至來源儲存庫之後，這對於做為本機儲存庫的清除很有用。  |  `git branch -d source-branch-name`  | 
|  使用本機儲存庫為遠端儲存庫指定的別名，刪除遠端儲存庫中的來源分支 (CodeCatalyst 中的來源儲存庫）。(注意冒號 (`:`) 的使用方式。) 或者，指定 `--delete`做為 命令的一部分。  |  `git push remote-name :source-branch-name` `git push remote-name --delete source-branch-name`  | 

# 關閉提取請求
<a name="pull-requests-close"></a>

您可以將提取請求標記為**已關閉**。這不會合併提取請求，但可協助您判斷哪些提取請求需要動作，以及哪些提取請求不再相關。如果您不再打算合併這些變更，或變更是由另一個提取請求合併，建議您關閉提取請求。

關閉提取請求會自動傳送電子郵件給提取請求的建立者，以及任何必要或選用的檢閱者。它不會自動變更與提取請求連結的任何問題的狀態。

**注意**  
關閉提取請求之後，您就無法重新開啟該請求。<a name="pull-requests-close-pull-request"></a>

**關閉提取請求**

1. 導覽至您要關閉提取請求的專案。

1. 在專案頁面上，會顯示開啟的提取請求。選擇您要關閉的提取請求。

1. 選擇**關閉**。

1. 檢閱資訊，然後選擇**關閉提取請求**。

# 了解 Amazon CodeCatalyst 中具有遞交的原始程式碼變更
<a name="source-commits"></a>

遞交是儲存庫的內容和內容變更的快照。每次使用者遞交變更並推送至分支時，該資訊都會儲存。Git 遞交資訊包括遞交作者、遞交變更的人員、日期和時間，以及所做的變更。當您在 Amazon CodeCatalyst 主控台中建立或編輯檔案時，會自動包含類似資訊，但作者名稱是您的 CodeCatalyst 使用者名稱。您也可以將 Git 標籤新增至遞交，以協助您識別特定遞交。

在 Amazon CodeCatalyst 中，您可以：
+ 檢視分支的遞交清單。
+ 檢視個別遞交，包括相較於其父項或父項在遞交中所做的變更。

您也可以檢視檔案和資料夾。如需詳細資訊，請參閱[在 Amazon CodeCatalyst 中管理原始程式碼檔案](source-files.md)。

**Topics**
+ [檢視對分支的遞交](#source-commits-view)
+ [變更遞交的顯示方式 (CodeCatalyst 主控台）](#source-commits-settings)

## 檢視對分支的遞交
<a name="source-commits-view"></a>

您可以在 CodeCatalyst 主控台中檢閱分支的遞交，以檢視對分支所做的變更歷史記錄。這可協助您了解誰對分支進行變更以及變更的時間。您也可以檢閱在特定遞交中所做的變更。

**提示**  
您也可以檢視對特定檔案進行變更的遞交歷史記錄。如需更多資訊，請參閱[檢視檔案檢視檔案變更的歷史記錄](source-files-view-history.md)。

您也可以使用 Git 用戶端檢視遞交。如需詳細資訊，請參閱 Git 文件。<a name="source-commits-view-console"></a>

**檢視遞交 （主控台）**

1. 導覽至包含您要檢視遞交之來源儲存庫的專案。

   

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要檢視對分支遞交的儲存庫。

1. 儲存庫的預設分支隨即顯示，包括有關最新分支遞交的資訊。選擇**遞交**。或者，選擇**更多**，然後選擇**檢視遞交**。

1. 若要檢視不同分支的遞交，請選擇分支選擇器，然後選擇分支的名稱。

1. 若要檢視特定遞交的詳細資訊，請從**遞交標題中選擇其標題**。遞交的詳細資訊隨即顯示，包括其父遞交的相關資訊，以及透過比較父遞交與指定遞交對程式碼所做的變更。
**提示**  
如果遞交有多個父系，您可以選擇哪個父系遞交來檢視資訊，並選擇父系遞交 ID 旁的下拉式清單圖示來顯示變更。

## 變更遞交的顯示方式 (CodeCatalyst 主控台）
<a name="source-commits-settings"></a>

您可以變更**遞交**檢視中顯示的資訊。您可以選擇隱藏或顯示作者和遞交 ID 等資料欄。<a name="source-commits-settings-console"></a>

**變更遞交的顯示方式 （主控台）**

1. 導覽至包含您要檢視遞交之來源儲存庫的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

   選擇您要變更查看遞交方式的儲存庫。

1. 儲存庫的預設分支隨即顯示，包括有關最新分支遞交的資訊。選擇**遞交**。

1. 選擇齒輪圖示。

1. 在**偏好設定**中，選擇要顯示的遞交數量，然後選擇是否顯示遞交作者、遞交日期和遞交 ID 的相關資訊。
**注意**  
您無法在資訊顯示中隱藏遞交標題。

1. 當您進行變更時，請選擇**儲存**以儲存變更，或選擇**取消**以捨棄變更。

# CodeCatalyst 中來源儲存庫的配額
<a name="source-quotas"></a>

下表說明 Amazon CodeCatalyst 中來源儲存庫的配額和限制。如需 Amazon CodeCatalyst 中配額的詳細資訊，請參閱 [CodeCatalyst 的配額](quotas.md)。


| 資源 | 資訊 | 
| --- | --- | 
| 分支名稱 |  允許字元長度介於 1 到 256 個字元之間的任意組合，而且在儲存庫中必須是唯一的。分支名稱不可以： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/source-quotas.html) 分支名稱為參考。分支名稱的許多限制是根據 Git 參考標準。如需詳細資訊，請參閱 [Git 內部](https://git-scm.com/book/en/v2/Git-Internals-Git-References) 和 [check-ref-format](https://git-scm.com/docs/git-check-ref-format)。  | 
|  提取請求的註解  |  提取請求最多 1，000 個。  | 
| 遞交訊息 | 最多 1024 個字元。 | 
| 檔案路徑 | 允許的字元的任何組合，長度介於 1 到 4,096 個字元之間。檔案路徑必須是明確的名稱，指定檔案和檔案的確切位置。檔案路徑的深度不能超過 20 個目錄。此外，檔案路徑不可以：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/source-quotas.html) 檔案名稱和路徑必須是完整合格。本機電腦上檔案的名稱和路徑必須遵循該作業系統的標準。指定儲存庫中檔案的路徑時，請使用 Amazon Linux 的標準。 | 
| 檔案大小 | 使用 CodeCatalyst 主控台時，任何個別檔案的上限為 6 MB。 | 
| CodeCatalyst 主控台中可檢視的檔案大小 | 使用 CodeCatalyst 主控台時，任何個別檔案的上限為 6 MB。 | 
| Git Blob 大小 |  上限為 2 GB。  在單一遞交中，所有檔案的數目或大小總計沒有限制，只要中繼資料不超過 6 MB 且單一 Blob 不超過 2 GB 就沒問題。不過，最佳實務是考慮進行多個較小的遞交，而不是一個大型遞交。   | 
| 遞交的中繼資料  |  遞交的合併[中繼資料](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects)上限為 6 MB （例如，作者資訊、日期、父遞交清單和遞交訊息的組合）。  在單一遞交中，所有檔案的數目或大小總計沒有限制，只要資料不超過 20 MB、個別檔案不超過 6 MB 且單一 Blob 不超過 2 GB 就沒問題。   | 
| 可連結至提取請求的 CodeCatalyst 問題數量 | 50 | 
| 可連結至提取請求的 Jira 問題數量 | 50 | 
|  空間中開啟提取請求的數量  |  Amazon CodeCatalyst 空間上限為 1，000。  | 
|  空間中的提取請求總數  |  Amazon CodeCatalyst 空間上限為 10，000。  | 
| 單一推送中的參考數目 | 最多 4,000 個，包括建立、刪除和更新。儲存庫中參考的整體數目不受限制。 | 
| 空間中的儲存庫數量 |  Amazon CodeCatalyst 空間上限為 5，000。  | 
|  儲存庫描述  |  字元的任何組合，長度介於 0 到 1,000 個字元之間。儲存庫的描述為選用。  | 
| 儲存庫名稱 |  儲存庫名稱在專案中必須是唯一的。它們可以包含長度介於 1 到 100 個字元之間的字母、數字、句點、底線和破折號的任意組合。名稱不區分大小寫。儲存庫名稱不能以 .git 結尾，不能包含空格，也不能包含以下任何字元： `! ? @ # $ % ^ & * ( ) + = { } [ ] \| \ / > < ~ ` ' " ; : `  | 
|  儲存庫大小  |  儲存庫大小會受到空間整體儲存限制的影響。如需詳細資訊，請參閱 [ 定價](https://codecatalyst.aws/explore/pricing)和 [對來源儲存庫的問題進行故障診斷](troubleshooting-source.md)。  | 
| 提取請求的檢閱者 | 提取請求的審核者總數上限為 100 個 （選用或必要）。 | 
|  提取請求的寫入摘要  |  提取請求的寫入摘要數目上限取決於您空間的計費方案。如需詳細資訊，請參閱 [ 定價](https://codecatalyst.aws/explore/pricing)。  | 