

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

# 기본 Git 명령
<a name="how-to-basic-git"></a>

Git을 사용하여 로컬 리포지토리에서, 그리고 로컬 리포지토리에 연결된 CodeCommit 리포지토리에서 작업할 수 있습니다.

다음은 자주 사용되는 Git 명령의 몇 가지 기본 예제입니다.

다른 옵션들에 대해서는 Git 설명서를 참조하세요.

**Topics**
+ [구성 변수](#how-to-basic-git-configuration-variables)
+ [원격 리포지토리](#how-to-basic-git-remotes)
+ [커밋](#how-to-basic-git-commits)
+ [브랜치](#how-to-basic-git-branches)
+ [Tags](#how-to-basic-git-tags)

## 구성 변수
<a name="how-to-basic-git-configuration-variables"></a>


|  |  | 
| --- |--- |
| 모든 구성 변수를 나열합니다. | `git config --list` | 
| 로컬 구성 변수만 나열합니다. | `git config --local -l` | 
| 시스템 구성 변수만 나열합니다. | `git config --system -l` | 
| 글로벌 구성 변수만 나열합니다. | `git config --global -l` | 
| 지정된 구성 파일에 구성 변수를 설정합니다. | `git config [--local \| --global \| --system] {{variable-name}} {{variable-value}}` | 
| 기본 브랜치가 아직 없는 리포지토리에 대해 첫 커밋을 작성할 때 모든 로컬 리포지토리의 기본 브랜치 이름을 main으로 설정합니다. | git config --global init.defaultBranch main | 
| 구성 파일을 직접 편집합니다. 특정 구성 파일의 위치를 찾는 데에도 사용할 수 있습니다. 편집 모드를 종료하려면, 보통 `:q`(변경 내용을 저장하지 않고 종료) 또는 `:wq`(변경 내용을 저장한 다음 종료)를 입력한 다음 Enter 키를 누릅니다. | `git config [--local \| --global \| --system] --edit` | 

## 원격 리포지토리
<a name="how-to-basic-git-remotes"></a>


|  |  | 
| --- |--- |
| CodeCommit 리포지토리에 연결할 준비를 하기 위해 로컬 리포지토리를 초기화합니다. | `git init` | 
| 로컬 리포지토리와 원격 리포지토리(예: CodeCommit 리포지토리) 간의 연결을 설정하는 데 사용할 수 있습니다. 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 별명과 CodeCommit 리포지토리에 지정된 URL을 사용합니다. | `git remote add {{remote-name}} {{remote-url}}` | 
| 로컬 컴퓨터에 있는 현재 폴더의 지정된 하위 폴더에서 지정된 URL에 CodeCommit 리포지토리의 복사본을 만들어 로컬 리포지토리를 생성합니다. 이 명령은 또한 복제된 CodeCommit 리포지토리의 각 브랜치에 대한 원격 추적 브랜치를 생성하며, 복제된 CodeCommit 리포지토리의 현재 기본 브랜치에서 파생된 초기 브랜치를 생성하고 체크아웃합니다. | `git clone {{remote-url}} {{local-subfolder-name}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 사용하는 별명을 표시합니다. | `git remote` | 
| 로컬 리포지토리가 CodeCommit 리포지토리를 대상으로 가져오고 푸시하는 데 사용하는 별명과 URL을 표시합니다. | `git remote -v` | 
| 로컬 리포지토리에서 CodeCommit 리포지토리로 최종 커밋을 푸시합니다. 로컬 리포지토리가 CodeCommit 리포지토리와 지정 브랜치에 대해 지정한 별명을 사용합니다. 또한 푸시하는 동안 로컬 리포지토리에 대한 업스트림 추적 정보를 설정합니다. | `git push -u {{remote-name}} {{branch-name}}` | 
| 업스트림 추적 정보가 설정된 후 로컬 리포지토리에서 CodeCommit 리포지토리로 최종 커밋을 푸시합니다. | `git push` | 
| CodeCommit 리포지토리에서 로컬 리포지토리로 최종 커밋을 풀합니다. 로컬 리포지토리가 CodeCommit 리포지토리와 지정 브랜치에 대해 지정한 별명을 사용합니다. | `git pull {{remote-name}} {{branch-name}}` | 
| 업스트림 추적 정보가 설정된 후 CodeCommit 리포지토리에서 로컬 리포지토리로 최종 커밋을 푸시합니다. | `git pull` | 
| CodeCommit 리포지토리에서 로컬 리포지토리의 연결을 끊습니다. 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 별명을 사용합니다. | `git remote rm {{remote-name}}` | 

## 커밋
<a name="how-to-basic-git-commits"></a>


|  |  | 
| --- |--- |
| 로컬 리포지토리의 보류 중인 커밋에 추가되거나 추가되지 않은 내용을 표시합니다. | `git status` | 
| 로컬 리포지토리의 보류 중인 커밋에 추가되거나 추가되지 않은 내용을 간결한 형식으로 보여줍니다.<br />(`M`= 수정됨, `A` = 추가됨, `D` = 삭제됨 등) | `git status -sb` | 
| 보류 중인 커밋과 로컬 리포지토리의 최신 커밋 사이의 변경 사항을 표시합니다. | `git diff HEAD` | 
| 로컬 리포지토리의 보류 중인 커밋에 특정 파일을 추가합니다. | `git add [{{file-name-1 file-name-2 file-name-N}} \| {{file-pattern}}]` | 
| 새 파일, 수정 파일, 삭제된 파일을 모두 로컬 리포지토리의 보류 중인 커밋에 추가합니다. | `git add ` | 
| 로컬 리포지토리의 보류 중인 커밋을 마무리하기 시작합니다. 커밋 메시지를 제공하는 편집기가 표시됩니다. 메시지가 입력되면 보류 중인 커밋이 완료됩니다. | `git commit` | 
| 커밋 메시지를 동시에 지정하는 것을 포함하여 로컬 리포지토리의 보류 중인 커밋을 마무리합니다. | `git commit -m "{{Some meaningful commit comment}}"` | 
| 로컬 리포지토리의 최근 커밋을 나열합니다. | `git log`  | 
| 로컬 리포지토리의 최근 커밋을 그래프 형식으로 나열합니다. | `git log --graph` | 
| 로컬 리포지토리의 최근 커밋을 미리 정의된 요약 형식으로 나열합니다. | `git log --pretty=oneline` | 
| 로컬 리포지토리의 최근 커밋을 미리 정의된 요약 형식으로 그래프와 함께 나열합니다. | `git log --graph --pretty=oneline` | 
| 로컬 리포지토리의 최근 커밋을 사용자 지정 형식으로 그래프와 함께 나열합니다.<br />(자세한 옵션은 Git 설명서의 [기록 이해: 커밋](https://git-scm.com/docs/user-manual#understanding-commits)을 참조하세요.) | `git log --graph --pretty=format:"%H (%h) : %cn : %ar : %s"` | 

## 브랜치
<a name="how-to-basic-git-branches"></a>


|  |  | 
| --- |--- |
| 로컬 리포지토리의 모든 브랜치를 나열하며, 현재 브랜치 옆에 별표(`*`)를 표시합니다. | `git branch` | 
| CodeCommit 리포지토리의 모든 기존 브랜치에 대한 정보를 로컬 리포지토리로 풀합니다. | `git fetch` | 
| 로컬 리포지토리의 브랜치와 로컬 리포지토리의 원격 추적 브랜치를 모두 나열합니다. | `git branch -a` | 
| 로컬 리포지토리의 원격 추적 브랜치만 나열합니다. | `git branch -r` | 
| 지정된 브랜치 이름을 사용하여 로컬 리포지토리에 새 브랜치를 생성합니다. | `git branch {{new-branch-name}}` | 
| 지정된 브랜치 이름을 사용하여 로컬 리포지토리의 다른 브랜치로 전환합니다. | `git checkout {{other-branch-name}}` | 
| 지정된 브랜치 이름을 사용하여 로컬 리포지토리에 새 브랜치를 만든 다음 해당 브랜치로 전환합니다. | `git checkout -b {{new-branch-name}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임과 지정된 브랜치 이름을 사용하여 로컬 리포지토리에서 CodeCommit 리포지토리로 새 브랜치를 푸시합니다. 또한 푸시하는 동안 로컬 리포지토리의 브랜치에 대한 업스트림 추적 정보를 설정합니다. | `git push -u {{remote-name}} {{new-branch-name}}` | 
| 지정된 브랜치 이름을 사용하여 로컬 리포지토리에 새 브랜치를 생성합니다. 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임과 지정된 브랜치 이름을 사용하여 로컬 리포지토리의 새 브랜치를 CodeCommit 리포지토리의 기존 브랜치로 연결합니다. | `git branch --track {{new-branch-name}} {{remote-name}}/{{remote-branch-name}}` | 
| 로컬 리포지토리의 다른 브랜치에서 변경한 내용을 로컬 리포지토리의 현재 브랜치에 병합합니다. | `git merge {{from-other-branch-name}}` | 
| 병합되지 않은 작업이 포함되어 있지 않는 한 로컬 리포지토리에서 브랜치를 삭제합니다. | `git branch -d {{branch-name}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임과 지정된 브랜치 이름을 사용하여 CodeCommit 리포지토리의 새 브랜치를 삭제합니다. (콜론(`:`) 사용에 주의하세요.) | `git push {{remote-name}} :{{branch-name}}` | 

## Tags
<a name="how-to-basic-git-tags"></a>


|  |  | 
| --- |--- |
| 로컬 리포지토리의 모든 태그를 나열합니다. | `git tag` | 
| CodeCommit 리포지토리의 모든 태그를 로컬 리포지토리로 풀합니다. | `git fetch --tags` | 
| 로컬 리포지토리의 특정 태그에 대한 정보를 표시합니다. | `git show {{tag-name}}` | 
| 로컬 리포지토리에 “경량” 태그를 생성합니다. | `git tag {{tag-name}} {{commit-id-to-point-tag-at}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임과 지정된 브랜치 이름을 사용하여 로컬 리포지토리의 특정 태그를 CodeCommit 리포지토리로 푸시합니다. | `git push {{remote-name}} {{tag-name}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임을 사용하여 로컬 리포지토리의 모든 태그를 CodeCommit 리포지토리로 푸시합니다. | `git push {{remote-name}} --tags` | 
| 로컬 리포지토리에서 태그를 삭제합니다. | `git tag -d {{tag-name}}` | 
| 로컬 리포지토리가 CodeCommit 리포지토리에 대해 지정한 닉네임과 지정된 브랜치 이름을 사용하여 CodeCommit 리포지토리에서 태그를 삭제합니다. (콜론(`:`) 사용에 주의하세요.) | `git push {{remote-name}} :{{tag-name}}` | 