Git 명령어 치트시트: 실제로 쓰는 명령어
Git에는 수백 개의 명령어가 있지만 일상 작업은 수십 개로 돌아갑니다. 이 실용 세트는 작업별로 묶었습니다 — 스테이징·커밋부터 브랜치·원격·실수 되돌리기까지. <이렇게> 꺾쇠는 직접 채워 넣는 값입니다.
업데이트 2026-07-06
설정
| 명령어 | 하는 일 |
|---|---|
| git init | 현재 폴더에 새 저장소 시작 |
| git clone <url> | 원격 저장소를 내 컴퓨터로 복제 |
| git config --global user.name "Name" | 커밋 작성자 이름 설정 |
| git config --global user.email "you@x.com" | 커밋 작성자 이메일 설정 |
스테이징 & 커밋
| 명령어 | 하는 일 |
|---|---|
| git status | 변경·스테이징·미추적 파일 표시 |
| git add <file> | 다음 커밋을 위해 파일 스테이징 |
| git add . | 현재 폴더의 모든 변경 스테이징 |
| git reset <file> | 파일 스테이징 해제(변경은 유지) |
| git commit -m "message" | 스테이징된 변경을 메시지와 함께 커밋 |
| git commit -am "message" | 추적 파일을 스테이징하고 한 번에 커밋 |
| git commit --amend | 가장 최근 커밋 수정 |
브랜치
| 명령어 | 하는 일 |
|---|---|
| git branch | 로컬 브랜치 목록 |
| git branch <name> | 새 브랜치 생성 |
| git checkout <name> | 브랜치로 전환 |
| git switch <name> | 브랜치로 전환(새 문법) |
| git checkout -b <name> | 새 브랜치를 만들고 전환 |
| git branch -d <name> | 병합된 브랜치 삭제 |
| git branch -D <name> | 브랜치 강제 삭제 |
병합 & 리베이스
| 명령어 | 하는 일 |
|---|---|
| git merge <branch> | 브랜치를 현재 브랜치에 병합 |
| git rebase <branch> | 내 커밋을 다른 브랜치 위에 재적용 |
| git rebase -i <ref> | 커밋을 대화식으로 편집·스쿼시·재정렬 |
| git cherry-pick <hash> | 단일 커밋을 현재 브랜치에 적용 |
원격
| 명령어 | 하는 일 |
|---|---|
| git remote -v | 설정된 원격 목록 |
| git remote add origin <url> | 로컬 저장소를 원격에 연결 |
| git fetch | 병합 없이 원격 변경 내려받기 |
| git pull | 원격 변경을 가져와 병합 |
| git push | 내 커밋을 원격에 업로드 |
| git push -u origin <branch> | 푸시하고 업스트림 브랜치 설정 |
되돌리기
| 명령어 | 하는 일 |
|---|---|
| git restore <file> | 파일의 커밋 안 된 변경 버리기 |
| git reset --soft HEAD~1 | 마지막 커밋 취소, 변경은 스테이징 유지 |
| git reset --hard HEAD~1 | 마지막 커밋 취소하고 변경 버리기 |
| git revert <hash> | 커밋을 되돌리는 새 커밋 생성 |
| git stash | 다른 작업을 위해 변경 임시 보관 |
| git stash pop | 가장 최근 stash한 변경 재적용 |
기록 확인
| 명령어 | 하는 일 |
|---|---|
| git log | 커밋 기록 표시 |
| git log --oneline | 한 줄 요약 기록 |
| git diff | 스테이징 안 된 변경 표시 |
| git diff --staged | 스테이징된 변경 표시 |
| git show <hash> | 특정 커밋의 상세 표시 |
| git blame <file> | 각 줄을 마지막으로 바꾼 사람 표시 |