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

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

檢視提交詳細資訊 AWS CodeCommit

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

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

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

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

瀏覽存儲庫中的提交

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

注意

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

瀏覽存儲庫的提交歷史記錄

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

瀏覽遞交的歷史記錄
  1. 請在以下位置開啟 CodeCommit 主控台。 https://console.aws.amazon.com/codesuite/codecommit/home

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

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

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

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

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

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

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

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

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

注意

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

檢視遞交的圖表
  1. 請在以下位置開啟 CodeCommit 主控台。 https://console.aws.amazon.com/codesuite/codecommit/home

  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 選項)。

    例如,若要檢視名為錯誤修正錯誤修正-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項)。

    • 您要檢視其資訊的每個遞交的完整遞交 ID 清單。

    例如,若要檢視使用 ID 317f8570EXAMPLE 和名稱為的 CodeCommit 儲存庫4c925148EXAMPLE中的提交資訊MyDemoRepo

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

    • 遞交作者 (如 Git 所設定) 的詳細資訊,包括採用時間戳記格式的日期和國際標準時間 (UTC) 位移。

    • 遞交者 (如 Git 所設定) 的詳細資訊,包括採用時間戳記格式的日期和 UTC 位移。

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

    • 父遞交的遞交 ID。

    • 遞交訊息。

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

    { "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 時當時的所有檔案。

    例如,若要檢視 ID 317f8570EXAMPLE 的提交與名稱為的 CodeCommit 儲存庫之間差異4c925148EXAMPLE的相關資訊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
注意

在此範例和以下範例中,遞交 ID 已縮寫。不會顯示完整的遞交 ID。

若要檢視發生的變更,請使用 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命令並包含兩個提交 ID。

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

若只要顯示遞交 ID 和訊息,請執行 git log --pretty=oneline 命令:

git log --pretty=oneline

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

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

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