View a markdown version of this page

에서 커밋 세부 정보 보기 AWS CodeCommit - AWS CodeCommit

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 커밋 세부 정보 보기 AWS CodeCommit

AWS CodeCommit 콘솔을 사용하여 리포지토리에서 커밋 기록을 찾아볼 수 있습니다. 이를 통해 다음 사항을 포함한 리포지토리 변경 사항을 파악할 수 있습니다.

  • 변경 시점 및 변경 주체

  • 특정 커밋이 브랜치에 병합된 시점

브랜치에 대한 커밋 이력을 조회하는 것도 브랜치 간 차이를 이해하는 데 도움이 될 수 있습니다. 태깅을 사용하는 경우에는 태그로 레이블이 지정된 커밋과 태그가 지정된 커밋의 부모를 신속하게 조회할 수도 있습니다. 명령줄에서 Git을 사용해 로컬 리포지토리 또는 CodeCommit 리포지토리의 커밋에 대한 세부 정보를 볼 수 있습니다.

리포지토리의 커밋 검색

AWS CodeCommit 콘솔을 사용하여 리포지토리에 대한 커밋 기록을 찾아볼 수 있습니다. 또한 리포지토리 및 그 브랜치 내 커밋을 시간 경과에 따라 표기한 그래프 형태로 볼 수 있습니다. 이를 통해 변경 시점을 포함한 리포지토리의 이력을 이해할 수 있습니다.

참고

git rebase 명령을 사용하여 리포지토리를 리베이스하면 리포지토리의 이력이 변경되어 커밋의 순서가 흐트러져 보일 수 있습니다. 자세한 내용은 Git Branching-Rebasing 또는 해당 Git 문서를 참조하세요.

리포지토리의 커밋 이력 검색

커미터에 대한 정보와 커밋 메시지를 포함해 해당 리포지토리의 특정 브랜치 또는 태그에 대한 커밋 이력을 조회할 수 있습니다. 또한 커밋에 대한 코드도 볼 수 있습니다.

커밋 이력을 찾아보려면
  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리포지토리에서, 커밋 이력을 보고자 하는 리포지토리를 선택합니다.

  3. 탐색 창에서 커밋을 선택합니다. 커밋 이력 보기에 기본 브랜치의 리포지토리에 대한 커밋 이력이 최신 커밋 날짜부터 순서대로 표시됩니다. 날짜 및 시간은 협정 세계시(UTC)로 표시됩니다. 보기 선택 버튼을 누른 후 목록에서 다른 브랜치를 선택하면 그 브랜치의 커밋 이력을 볼 수 있습니다. 리포지토리에 태그를 사용하고 있다면 보기 선택 버튼에서 태그를 선택하여 그 태그가 있는 커밋과 그 부모 커밋을 조회할 수 있습니다.

    콘솔의 커밋 보기
  4. 커밋과 그 상위 항목 간의 차이와 변경 내용에 대한 주석을 보려면 약식 커밋 ID를 선택합니다. 자세한 내용은 한 커밋을 상위 커밋과 비교 및 커밋에 대한 주석 추가 섹션을 참조하세요. 브랜치, 태그, 커밋 ID 등 한 커밋과 기타 커밋 지정자 간의 차이를 보려면 임의의 두 커밋 지정자 비교 단원을 참조하세요.

  5. 다음 중 한 개 이상을 수행할 수 있습니다.

    • 변경이 이루어진 날짜와 시간을 보려면 커밋 날짜 위에 마우스 포인터를 놓으세요.

    • 축약되지 않은 커밋 ID를 보려면 커밋 ID를 복사하여 텍스트 편집기 또는 기타 위치에 붙여 넣습니다. 복사하려면 ID 복사를 선택합니다.

    • 커밋 당시의 코드를 보려면 찾아보기를 선택합니다. 해당 커밋 시점의 리포지토리 콘텐츠가 코드 보기에 표시됩니다. 보기 선택 버튼에 브랜치 또는 태그 대신에 약식 커밋 ID가 표시됩니다.

리포지토리의 커밋 이력을 그래프 형태로 보기

특정 리포지토리에 대한 커밋을 그래프 형태로 볼 수 있습니다. 커밋 시각화 도우미 보기에는 해당 리포지토리의 한 브랜치에 대한 모든 커밋이 방향성 비사이클 그래프(DAG) 형태로 표시됩니다. 이 그래프를 통해 커밋과 관련 기능이 추가 또는 병합된 시점을 알 수 있습니다. 또한 다른 변경 사항과 관련해 이루어진 변경 사항을 정확히 식별할 수 있습니다.

참고

패스트 포워드 방법을 사용해 병합한 커밋은 커밋 그래프에 별도의 줄로 표시되지 않습니다.

커밋 그래프를 보려면
  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리포지토리에서 커밋 그래프를 보고자 하는 리포지토리를 선택합니다.

  3. 탐색 창에서 커밋을 선택한 다음 커밋 시각화 도우미 탭을 선택합니다.

    콘솔에서 리포지토리를 그래프 형태로 보기

    커밋 그래프에서 각 커밋 메시지의 약식 커밋 ID 및 제목이 그래프의 해당 시점 옆에 표시됩니다.

    참고

    그래프는 한 페이지에 최대 35개의 브랜치를 표시할 수 있습니다. 브랜치가 35개를 넘는 경우에는 너무 복잡하여 표시되지 않습니다. 이 경우 보기를 다음과 같은 두 가지 방법으로 단순화할 수 있습니다.

    • 보기 선택 버튼을 사용하여 특정 브랜치에 대한 그래프를 표시

    • 축약되지 않은 커밋 ID를 검색 상자에 붙여 넣어 해당 커밋에서 그래프를 렌더링

  4. 특정 커밋에서 새 그래프를 렌더링하려면 그 커밋에 해당하는 그래프에서 시점을 선택합니다. 보기 선택 버튼이 약식 커밋 ID로 변경됩니다.

    특정 커밋에서 렌더링된 새 그래프

커밋 세부 정보 보기 (AWS CLI)

Git를 통해 커밋에 대한 세부 정보를 조회할 수 있습니다. 또한를 사용하여 다음 명령을 실행 AWS CLI 하여 로컬 리포지토리 또는 CodeCommit 리포지토리의 커밋에 대한 세부 정보를 볼 수 있습니다.

커밋에 대한 정보를 보려면

  1. 다음을 지정하여 aws codecommit get-commit 명령을 실행합니다.

    • CodeCommit 리포지토리의 이름(--repository-name 옵션 사용)

    • 축약되지 않은 커밋 ID

    예를 들어 MyDemoRepo라는 CodeCommit 리포지토리에서 ID가 317f8570EXAMPLE인 커밋에 대한 정보를 보려면 다음을 수행합니다.

    aws codecommit get-commit --repository-name MyDemoRepo --commit-id 317f8570EXAMPLE
  2. 이 명령이 제대로 실행되면 다음 사항이 출력됩니다.

    • 타임스탬프 형식의 날짜 및 협정 세계시(UTC) 오프셋을 포함한 커밋 작성자(Git에 구성됨) 정보

    • 타임스탬프 형식의 날짜 및 UTC 오프셋을 포함한 커미터(Git에 구성됨) 정보

    • 커밋이 존재하는 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 옵션 사용).

    예를 들어, MyDemoRepo라는 리포지토리에서 삼방향 병합 전략을 사용하여 bugfix-bug1234 소스 브랜치와 main이라는 대상 브랜치에 대한 병합 커밋에 대한 정보를 보려면 다음과 같이 합니다.

    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의 목록

    예를 들어 MyDemoRepo라는 CodeCommit 리포지토리에서 ID가 317f8570EXAMPLE 및 4c925148EXAMPLE인 커밋에 대한 정보를 보려면 다음과 같이 합니다.

    aws codecommit batch-get-commits --repository-name MyDemoRepo --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE
  2. 이 명령이 제대로 실행되면 다음 사항이 출력됩니다.

    • 타임스탬프 형식의 날짜 및 협정 세계시(UTC) 오프셋을 포함한 커밋 작성자(Git에 구성됨) 정보

    • 타임스탬프 형식의 날짜 및 UTC 오프셋을 포함한 커미터(Git에 구성됨) 정보

    • 커밋이 존재하는 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인 파일이 모두 표시됩니다.

    예를 들어, MyDemoRepo이라는 CodeCommit 리포지토리에서 ID가 317f8570EXAMPLE 및 4c925148EXAMPLE인 커밋들 사이의 차이에 대한 정보를 보려면 다음을 수행합니다.

    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 옵션)

    예를 들어 MyDemoRepo라는 CodeCommit 리포지토리에서 ID가 2eb4af3bEXAMPLE인 Git BLOB에 대한 정보를 보려면 다음을 수행합니다.

    aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE
  2. 이 명령이 제대로 실행되면 다음 사항이 출력됩니다.

    • 대개 파일인 BLOB의 base64 인코딩 콘텐츠

    예를 들어 이전 명령의 실행 결과는 다음과 비슷하게 출력될 수 있습니다.

    { "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" }

두 BLOB 간의 선 수준 차이를 보려면

get-blob-differences를 사용하여 두 파일 버전 간의 라인 수준 차이를 표시합니다. 이 명령은 주변 컨텍스트와 함께 변경된 선의 연속 실행인 정렬된 hunk 목록을 반환합니다.이 목록을 사용하여 도구에서 side-by-side 또는 통합된 diff 뷰를 렌더링할 수 있습니다.

  1. 다음을 지정하여 get-blob-differences 명령을 실행합니다.

    • CodeCommit 리포지토리의 이름(--repository-name 옵션 사용)

    • 이후 blob의 ID - 비교할 버전입니다( --after-blob-id 옵션 사용).

    • 선택적으로 before blob의 ID입니다( --before-blob-id 옵션 사용). BLOB 전에를 지정하지 않으면 명령은 새로 추가된 파일을 처리하는 것과 동일한 빈 이전 상태에 대한 차이를 계산합니다.

    • 선택적으로, hunk당 변경되지 않은 컨텍스트 줄 수( --context-lines 옵션 사용, 0~20 사이의 정수, 기본값은 3).

    • 선택적으로 공백 전용 변경 사항을 무시할지 여부( --ignore-whitespace 옵션 사용).

    • 선택적으로 명령의 출력에 반환할 최대 총 diff hunk 수입니다( --max-items 옵션 사용, 모든 양의 정수). AWS 명령줄 인터페이스(AWS CLI)는 결과를 수집하기 위해 여러 내부 서비스를 호출할 수 있습니다. 이후에 더 많은 결과가 존재하는 경우 출력--max-items에는 NextToken 페이지 매김 토큰이 포함됩니다.

    • 선택적으로 서비스 호출당 결과 수입니다( --page-size 옵션 사용, 1~1000 사이의 정수, 기본값은 100).

    • 선택적으로 이전 응답의 페이지 매김 토큰( --starting-token 옵션 사용). 출력에가 포함된 경우이 값을 사용하여 다음 페이지를 검색합니다NextToken.

    예를 들어, 이름이 인 CodeCommit 리포지토리에 있는 파일의 두 BLOB 버전 간의 라인 수준 차이를 세 줄의 컨텍스트MyDemoRepo로 보려면:

    aws codecommit get-blob-differences --repository-name MyDemoRepo --before-blob-id bf7fcf28fEXAMPLE --after-blob-id 2eb4af3bEXAMPLE
  2. 이 명령이 제대로 실행되면 다음 사항이 출력됩니다.

    • 각각 시작 선과 두 버전 모두에 대한 개수 및 정렬된 선 수준 변경 목록(CONTEXT, ADD또는 DELETE)이 있는 diff hunk 목록입니다. ADD 변경 사항은를 생략beforeLineNumber하고 DELETE 변경 사항은를 생략합니다afterLineNumber.

    • 콘텐츠가 바이너리()로 처리되었는지 여부입니다isBinary.

    • 바이트 단위의 각 BLOB 크기(beforeBlobSize, afterBlobSize).

    • diff가 여러 페이지에 걸쳐 있는 경우 후속 get-blob-differences 호출( --starting-token 옵션 사용)에 전달하여 다음 페이지를 검색할 수 NextToken 있는 불투명한 입니다. 응답에 최종 페이지가 포함된 경우 NextToken는 생략됩니다.

    예를 들어 이전 명령의 실행 결과는 다음과 비슷하게 출력될 수 있습니다.

    { "hunks": [ { "beforeStartLine": 1, "beforeLineCount": 4, "afterStartLine": 1, "afterLineCount": 5, "changes": [ { "type": "CONTEXT", "beforeLineNumber": 1, "afterLineNumber": 1, "content": "import os" }, { "type": "DELETE", "beforeLineNumber": 2, "content": "DEBUG = False" }, { "type": "ADD", "afterLineNumber": 2, "content": "DEBUG = True" }, { "type": "ADD", "afterLineNumber": 3, "content": "VERBOSE = True" }, { "type": "CONTEXT", "beforeLineNumber": 3, "afterLineNumber": 4, "content": "" }, { "type": "CONTEXT", "beforeLineNumber": 4, "afterLineNumber": 5, "content": "def main():" } ] } ], "isBinary": false, "beforeBlobSize": 142, "afterBlobSize": 168 }

커밋 세부 정보 보기 (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는 표시되지 않습니다.

변경된 사항을 보려면 해당 커밋 ID로 git show 명령을 사용합니다.

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 설명서를 참조하세요.