檢視提交詳細資訊 AWS CodeCommit - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可繼續正常使用此服務。了解更多」

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

檢視提交詳細資訊 AWS CodeCommit

您可以使用 AWS CodeCommit 控制台瀏覽存儲庫中提交的歷史記錄。這可協助您識別儲存庫中進行的變更,包括:

  • 變更何時以及由誰進行。

  • 特定遞交何時合併到分支。

檢視分支遞交的歷史記錄可能也有助於了解分支之間的差異。如果您使用標記,也可以快速地檢視加上標籤的遞交和該標記遞交的父項。在命令行中,您可以使用 Git 查看有關本地存儲庫或 CodeCommit 存儲庫中提交的詳細信息。

瀏覽存儲庫中的提交

您可以使用 AWS CodeCommit 控制台瀏覽存儲庫的提交歷史記錄。您也可以隨著時間檢視儲存庫中遞交及其分支的圖表。這可協助您了解儲存庫的歷史記錄,包括進行變更的時間。

注意

使用 git rebase 命令來重設儲存庫的基準會變更儲存庫的歷史記錄,這可能造成遞交不按順序顯示。如需詳細資訊,請參閱 Git 分支重設基準或您的 Git 文件。

瀏覽存儲庫的提交歷史

您可以瀏覽特定分支或儲存庫標籤的遞交歷史記錄,包含遞交者和遞交訊息的詳細資訊。您也可以檢視遞交的程式碼。

瀏覽遞交的歷史記錄
  1. https://console.aws.amazon.com/codesuite/代碼提交/家中打開 CodeCommit 控制台。

  2. Repositories (儲存庫) 中,選擇您要檢閱遞交歷史記錄的儲存庫。

  3. 在導覽窗格中,選擇 Commits (遞交)。在遞交歷史記錄檢視中,會顯示預設分支中儲存庫遞交的歷史記錄,以遞交日期的相反時間順序顯示。日期和時間是在協調世界時間(UTC)。您可以檢視不同分支遞交的歷史記錄,方法是選擇檢視選取器按鈕,然後從清單中選擇分支。如果您使用的是您的儲存庫中的標籤,您可以透過在檢視選取器按鈕中選擇該標籤,以檢視具有特定標籤的遞交和及父系。

    主控台中的遞交檢視
  4. 若要檢視遞交與其父系之間的差異,並選擇遞交的 ID 來查看對於變更的相關評論。如需詳細資訊,請參閱 將提交與其父提交進行比較對遞交做註解。若要檢視遞交與任何其他遞交指標 (包括分支、標籤或遞交 ID) 之間的差異,請參閱比較任兩個遞交指標

  5. 執行下列其中一項或多項:

    • 若要檢視進行變更的日期和時間,請將滑鼠的游標移到遞交日期上。

    • 若要檢視完整遞交 ID,請複製然後將它貼到文字編輯器或其他位置。若要複製它,請選擇「複製 ID」。

    • 若要檢視程式碼在遞交時的狀態,請選擇 Browse (瀏覽)。儲存庫在該遞交時的內容會顯示在 Code (程式碼) 檢視中。檢視選取器按鈕會顯示縮寫的遞交 ID 而非分支或標籤。

查看存儲庫提交歷史記錄的圖表

您可以檢視對儲存庫所做的遞交圖表。提交可視化視圖是對存儲庫的分支所有提交的有向無環圖(DAG)表示。此圖形呈現可協助您了解新增或合併遞交和關聯功能的時間。它也可以協助您了解與其他變更相關的變更是何時進行。

注意

在遞交圖表中,使用向前快轉方法合併的遞交不會以單獨線條的形式顯示。

檢視遞交的圖表
  1. https://console.aws.amazon.com/codesuite/代碼提交/家中打開 CodeCommit 控制台。

  2. Repositories (儲存庫) 中,選擇您要檢視遞交圖表的儲存庫。

  3. 在導覽窗格中,選擇 Commits (遞交),然後選擇 Commit visualizer (遞交視覺化工具) 索引標籤。

    主控台的儲存庫圖表檢視

    在提交圖形中,縮寫的提交 ID 和每個提交訊息的主旨會顯示在圖形中該點的旁邊。

    注意

    圖表在一頁上最多可以顯示 35 個分支。如果超過 35 個分支,則圖表會太複雜而無法顯示。您可以透過兩個方式將檢視簡化:

    • 使用檢視選取器按鈕來顯示特定分支的圖形。

    • 透過貼上完整的遞交 ID 至搜尋方塊,從該遞交轉譯圖形。

  4. 若要從遞交轉譯圖形,請在圖形中選擇與該遞交對應的點。檢視選取器按鈕會變更為縮寫的遞交 ID。

    從特定遞交轉譯了新圖形

檢視提交詳細資訊 (AWS CLI)

Git 可讓您檢視遞交的詳細資訊。您也可以執行下列命令,使用 AWS CLI 來檢視本機存放庫或 CodeCommit 儲存庫中提交的詳細資訊:

檢視遞交的詳細資訊

  1. 執行 aws codecommit get-commit 命令,並指定:

    • CodeCommit 存放庫的名稱 (含選--repository-name項)。

    • 完整遞交 ID。

    例如,若要在名為的 CodeCommit 儲存庫中檢視 ID 317f8570EXAMPLE 的提交相關資訊MyDemoRepo

    aws codecommit get-commit --repository-name MyDemoRepo --commit-id 317f8570EXAMPLE
  2. 如果成功,此命令的輸出包含下列:

    • 有關提交作者的信息(如 Git 中配置),包括時間戳格式的日期和協調的世界時間(UTC)偏移量。

    • 有關提交者的信息(在 Git 中配置),包括時間戳格式的日期和UTC偏移量。

    • 遞交存在位置的 Git 樹狀目錄 ID。

    • 父遞交的遞交 ID。

    • 遞交訊息。

    以下是基於上述範例命令的一些範例輸出:

    { "commit": { "additionalData": "", "committer": { "date": "1484167798 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "author": { "date": "1484167798 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "treeId": "347a3408EXAMPLE", "parents": [ "4c925148EXAMPLE" ], "message": "Fix incorrect variable name" } }

檢視合併遞交的相關資訊

  1. 執行 get-merge-commit 命令,並指定:

    • 合併來源的遞交指標 (使用 --source-commit-specifier 選項)。

    • 合併目的地的遞交指標 (使用 --destination-commit-specifier 選項)。

    • 您想要使用的合併選項 (使用 --merge-option 選項)。

    • 儲存庫的名稱 (使用 --repository-name 選項)。

    例如,若要檢視名為的來源分支合併認可的相關資訊 bugfix-bug1234 具有名為的目標分支 main 使用 THREE_WAY_MERGE 名為的儲存庫中的策略 MyDemoRepo:

    aws codecommit get-merge-commit --source-commit-specifier bugfix-bug1234 --destination-commit-specifier main --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo
  2. 如果成功,此命令的輸出會傳回類似如下的資訊:

    { "sourceCommitId": "c5709475EXAMPLE", "destinationCommitId": "317f8570EXAMPLE", "baseCommitId": "fb12a539EXAMPLE", "mergeCommitId": "ffc4d608eEXAMPLE" }

檢視多個遞交的相關資訊

  1. 執行 batch-get-commits 命令,並指定:

    • CodeCommit 存放庫的名稱 (含選--repository-name項)。

    • 您要查看信息IDs的每次提交的完整提交列表。

    例如,若要檢視使用 and 在名為的 CodeCommit 儲存庫4c925148EXAMPLE中IDs317f8570EXAMPLE的認可的相關資訊MyDemoRepo

    aws codecommit batch-get-commits --repository-name MyDemoRepo --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE
  2. 如果成功,此命令的輸出包含下列:

    • 有關提交作者的信息(如 Git 中配置),包括時間戳格式的日期和協調的通用時間(UTC)偏移量。

    • 有關提交者的信息(在 Git 中配置),包括時間戳格式的日期和UTC偏移量。

    • 提交所在IDs的 Git 樹狀結構。

    • 父提交IDs的提交。

    • 遞交訊息。

    以下是基於上述範例命令的一些範例輸出:

    { "commits": [ { "additionalData": "", "committer": { "date": "1508280564 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "author": { "date": "1508280564 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "commitId": "317f8570EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "6e147360EXAMPLE" ], "message": "Change variable name and add new response element" }, { "additionalData": "", "committer": { "date": "1508280542 -0800", "name": "Li Juan", "email": "li_juan@example.com" }, "author": { "date": "1508280542 -0800", "name": "Li Juan", "email": "li_juan@example.com" }, "commitId": "4c925148EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "317f8570EXAMPLE" ], "message": "Added new class" } }

檢視遞交指標變更的詳細資訊

  1. 執行 aws codecommit get-differences 命令,並指定:

    • CodeCommit 存放庫的名稱 (含選--repository-name項)。

    • 您要取得資訊的遞交指標。只有 --after-commit-specifier 為必要。如果您不指定 --before-commit-specifier,將會顯示在 --after-commit-specifier 時當時的所有檔案。

    例如,若要檢視與名為的 CodeCommit 儲存庫4c925148EXAMPLE中的IDs317f8570EXAMPLE和提交之間差異的相關資訊MyDemoRepo

    aws codecommit get-differences --repository-name MyDemoRepo --before-commit-specifier 317f8570EXAMPLE --after-commit-specifier 4c925148EXAMPLE
  2. 如果成功,此命令的輸出包含下列:

    • 差異的清單,包含變更類型 (A 代表已新增,D 代表已刪除,或 M 代表已修改)。

    • 檔案變更類型的模式。

    • 包含變更的 Git Blob 物件 ID。

    以下是基於上述範例命令的一些範例輸出:

    { "differences": [ { "afterBlob": { "path": "blob.txt", "blobId": "2eb4af3bEXAMPLE", "mode": "100644" }, "changeType": "M", "beforeBlob": { "path": "blob.txt", "blobId": "bf7fcf28fEXAMPLE", "mode": "100644" } } ] }

檢視 Git Blob 物件的詳細資訊

  1. 執行 aws codecommit get-blob 命令,並指定:

    • CodeCommit 存放庫的名稱 (含選--repository-name項)。

    • Git Blob 的 ID (使用 --blob-id 選項)。

    例如,若要檢視 Git blob 的相關資訊,其2eb4af3bEXAMPLE識別碼為MyDemoRepo: CodeCommit

    aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE
  2. 如果成功,此命令的輸出包含下列:

    • Blob 的 base64 編碼內容,通常是一個檔案。

    例如,前一個命令的輸出應類似以下:

    { "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" }

檢視提交詳細資訊 (Git)

在執行這些步驟之前,您應該已經將本地存放庫連接到 CodeCommit 存儲庫並提交了更改。如需說明,請參閱 連接到儲存庫

若要顯示最近提交至儲存庫的變更,請執行git show指令。

git show

此命令會產生類似下列的輸出:

commit 4f8c6f9d Author: Mary Major <mary.major@example.com> Date: Mon May 23 15:56:48 2016 -0700 Added bumblebee.txt diff --git a/bumblebee.txt b/bumblebee.txt new file mode 100644 index 0000000..443b974 --- /dev/null +++ b/bumblebee.txt @@ -0,0 +1 @@ +A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae. \ No newline at end of file
注意

在這個和下面的例子中,commit IDs 已經縮寫了。未顯示完整IDs的提交。

若要檢視發生的變更,請使用 git show 命令搭配遞交 ID:

git show 94ba1e60 commit 94ba1e60 Author: John Doe <johndoe@example.com> Date: Mon May 23 15:39:14 2016 -0700 Added horse.txt diff --git a/horse.txt b/horse.txt new file mode 100644 index 0000000..080f68f --- /dev/null +++ b/horse.txt @@ -0,0 +1 @@ +The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.

要查看兩次提交之間的差異,請運行git diff命令並包含兩個提交IDs。

git diff ce22850d 4f8c6f9d

在此範例中,這兩個遞交之間的差異是已新增了兩個檔案。此命令會產生類似下列的輸出:

diff --git a/bees.txt b/bees.txt new file mode 100644 index 0000000..cf57550 --- /dev/null +++ b/bees.txt @@ -0,0 +1 @@ +Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax. diff --git a/bumblebee.txt b/bumblebee.txt new file mode 100644 index 0000000..443b974 --- /dev/null +++ b/bumblebee.txt @@ -0,0 +1 @@ +A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae. \ No newline at end of file

要使用 Git 查看有關本地存儲庫中提交的詳細信息,請運行以下git log命令:

git log

如果此命令成功執行,您會看到類似如下的輸出產生:

commit 94ba1e60 Author: John Doe <johndoe@example.com> Date: Mon May 23 15:39:14 2016 -0700 Added horse.txt commit 4c925148 Author: Jane Doe <janedoe@example.com> Date: Mon May 22 14:54:55 2014 -0700 Added cat.txt and dog.txt

要僅顯示提交IDs和消息,請運行以下git log --pretty=oneline命令:

git log --pretty=oneline

如果此命令成功執行,您會看到類似如下的輸出產生:

94ba1e60 Added horse.txt 4c925148 Added cat.txt and dog.txt

如需更多選項,請參閱您的 Git 文件。