

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

# 기본 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`  | 
|  로컬 리포지토리의 보류 중인 커밋에 추가되거나 추가되지 않은 내용을 간결한 형식으로 보여줍니다. (`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`  | 
|  로컬 리포지토리의 최근 커밋을 사용자 지정 형식으로 그래프와 함께 나열합니다. (자세한 옵션은 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`  | 