| 명령어 | 설명 | 예시 |
|---|---|---|
git init | 현재 폴더를 Git 저장소로 초기화 (.git 폴더 생성) | git init |
git clone <URL> | 원격 저장소를 복제 (GitHub 등에서 가져올 때) | git clone https://github.com/user/repo.git |
git remote -v | 연결된 원격 저장소 확인 | git remote -v |
git remote add origin <URL> | 원격 저장소 연결 | git remote add origin https://github.com/user/repo.git |
git clone -b <브랜치이름> <저장소URL> : 특정 브랜치를 바로 클론하기| 명령어 | 설명 | 예시 |
|---|---|---|
git status | 변경된 파일 확인 | git status |
git add <파일명> | 특정 파일 스테이징 | git add app/main.py |
git add . | 모든 변경사항 스테이징 | git add . |
git commit -m "메시지" | 스테이징된 파일 커밋 | git commit -m "feat: 회원가입 기능 추가" |
git log | 커밋 기록 보기 | git log --oneline |
git diff | 수정된 부분 비교 | git diff app/main.py |
| 명령어 | 설명 | 예시 |
|---|---|---|
git branch | 브랜치 목록 확인 | git branch |
git branch <브랜치명> | 새 브랜치 생성 | git branch feature/login |
git checkout <브랜치명> | 브랜치 이동 | git checkout develop |
git switch <브랜치명> | 브랜치 이동 (새로운 방식) | git switch feature/login |
git switch -c <브랜치명> | 새 브랜치 생성 + 이동 | git switch -c feature/login |
git merge <브랜치명> | 다른 브랜치를 현재 브랜치에 병합 | git merge feature/login |
git branch -d <브랜치명> | 브랜치 삭제 | git branch -d feature/login |
| 명령어 | 설명 | 예시 |
|---|---|---|
git push origin <브랜치명> | 원격 저장소에 푸시 | git push origin feature/login |
git pull origin <브랜치명> | 원격 저장소의 변경사항 가져오기 | git pull origin develop |
git fetch | 원격의 최신 상태 가져오기 (병합은 안 함) | git fetch |
git push -u origin <브랜치명> | 새 브랜치 최초 푸시 및 연결 | git push -u origin feature/login |
git fetch origin : 원격 최신 상태 동기화| 명령어 | 설명 | 예시 |
|---|---|---|
git restore <파일명> | 수정한 파일을 최근 커밋 상태로 되돌림 | git restore app/config.py |
git restore --staged <파일명> | 스테이징을 취소 | git restore --staged app/config.py |
git reset --hard HEAD | 최근 커밋 상태로 전체 되돌림 | ⚠️ 주의: 모든 수정 삭제 |
git revert <커밋ID> | 특정 커밋을 되돌리는 새로운 커밋 생성 | git revert 9f2a8c3 |
| 명령어 | 설명 | 예시 |
|---|---|---|
git stash | 현재 작업을 임시 저장 (스테이징 포함) | git stash |
git stash list | 임시저장 목록 확인 | git stash list |
git stash apply | 가장 최근 stash 복구 | git stash apply |
git stash drop | 특정 stash 삭제 | git stash drop stash@{0} |
| 명령어 | 설명 | 예시 |
|---|---|---|
git pull --rebase | rebase 방식으로 최신 내용 가져오기 | git pull --rebase origin develop |
git merge --no-ff | 병합 커밋을 명시적으로 생성 | git merge --no-ff feature/login |
git cherry-pick <커밋ID> | 특정 커밋만 현재 브랜치에 적용 | git cherry-pick 8e4d12a |
git tag <태그명> | 버전 태그 생성 | git tag v1.0.0 |

| 명령어 | 설명 | 예시 |
|---|---|---|
git log --oneline --graph --all | 브랜치 흐름을 그래프로 표시 | git log --oneline --graph --all |
git show <커밋ID> | 특정 커밋 상세 보기 | git show 4d3f7b2 |
git blame <파일명> | 각 줄이 어떤 커밋에서 수정되었는지 확인 | git blame app/models/user.py |
| 명령어 | 설명 | 예시 |
|---|---|---|
git config --global user.name "이름" | 사용자 이름 설정 | git config --global user.name "Kihoon" |
git config --global user.email "이메일" | 사용자 이메일 설정 | git config --global user.email "test@gmail.com" |
git config --list | 현재 설정 확인 | git config --list |
---