본문 바로가기

Develop/Git

Git CLI 필수 명령어 정리

🚀 Git CLI 필수 명령어 정리

1. 📂 저장소 관련

명령어설명
git init 현재 디렉토리를 Git 저장소로 초기화
git clone <URL> 원격 저장소를 복제해서 로컬에 저장소 생성

2. 🔍 상태 확인

명령어설명
git status 변경된 파일, 스테이징 상태 확인
git log 커밋 이력 조회
git log --oneline --graph --all 간단한 커밋 이력 그래프 조회
git diff 작업 디렉토리와 마지막 커밋 차이 보기
git diff --staged 스테이징된 파일과 마지막 커밋 차이 보기

3. 📑 파일 추적 및 스테이징

명령어설명
git add <파일> 특정 파일 스테이징
git add . 현재 디렉토리 변경사항 모두 스테이징
git reset <파일> 스테이징에서 특정 파일 제거
git restore <파일> 워킹 디렉토리의 변경 취소 (최근 커밋/스테이징 상태로 되돌림)

4. 💾 커밋

명령어설명
git commit -m "메시지" 메시지를 포함하여 커밋
git commit --amend 마지막 커밋 메시지 수정 (스테이징된 변경도 포함 가능)

5. 🔀 브랜치

명령어설명
git branch 로컬 브랜치 목록 확인
git branch <브랜치명> 새 브랜치 생성
git checkout <브랜치명> 해당 브랜치로 이동
git checkout -b <브랜치명> 브랜치 생성 + 이동
git switch <브랜치명> 브랜치 전환 (신규 명령, checkout 대체)
git switch -c <브랜치명> 브랜치 생성 + 전환
git branch -d <브랜치명> 브랜치 삭제

6. 🌐 원격 저장소

명령어설명
git remote -v 원격 저장소 목록 확인
git remote add origin <URL> 원격 저장소 추가
git push -u origin <브랜치명> 원격 저장소에 브랜치 최초 푸시
git push 이후에는 그냥 push로 가능
git pull 원격 저장소 변경사항 가져오기 + merge
git fetch 원격 저장소 변경사항 가져오기 (병합은 X)

7. ⚡ 병합 & 충돌 해결

명령어설명
git merge <브랜치명> 현재 브랜치에 다른 브랜치 병합
git rebase <브랜치명> 커밋 이력을 정리하며 병합
git mergetool 충돌 해결 도구 실행

8. ⏪ 되돌리기 & 취소

명령어설명
git reset --soft <커밋ID> 해당 커밋으로 되돌리고 변경사항은 스테이징 유지
git reset --mixed <커밋ID> 되돌리고 변경사항은 워킹 디렉토리에 남김 (기본)
git reset --hard <커밋ID> 되돌리고 변경사항 모두 삭제
git revert <커밋ID> 특정 커밋 되돌리는 새로운 커밋 생성
git stash 현재 작업 중인 변경사항 임시 저장
git stash pop 임시 저장한 변경사항 복원

9. 🛠️ 기타 유용한 명령어

명령어설명
git config --global user.name "이름" 전역 사용자 이름 설정
git config --global user.email "이메일" 전역 사용자 이메일 설정
git config --list 설정 확인
git tag <태그명> 특정 커밋에 태그 달기
git show <커밋ID> 특정 커밋 상세 보기