기억나지 않는 명령어를 검색하느라 시간을 허비하지 않도록, 실무 개발 현장에서 매일 쓰는 핵심 명령어들을 상황별(Context)로 일목요연하게 정리했습니다. 북마크해 두고 필요할 때 바로 복사해서 사용하세요.
1. 일상 개발 및 커밋 (Daily Work)
# 현재 파일 상태 확인 (변경된 파일, 스테이징 상태)
git status
# 변경 내용 상세 비교
git diff # 아직 add하지 않은 작업 내용 확인
git diff --staged # add하여 다음 커밋에 들어갈 내용 확인
# 파일 스테이징 및 커밋
git add <file> # 특정 파일 스테이징
git add . # 변경된 전체 파일 스테이징
git commit -m "메시지" # 커밋 생성
git commit --amend # 방금 직전 커밋 메시지 수정 또는 파일 덮어쓰기
# 브랜치 전환 및 생성 (최신 표준)
git switch <branch> # 기존 브랜치로 이동
git switch -c <branch> # 새 브랜치 만들고 즉시 이동
git switch - # 직전에 머물렀던 이전 브랜치로 복귀2. 원격 저장소 동기화 (Sync & Remote)
# 원격 저장소 주소 확인
git remote -v
# 원격 최신 변경사항 확인만 하기 (로컬 코드 변경 없음, 안전)
git fetch origin
git fetch --prune # 원격에서 삭제된 브랜치 흔적 로컬에서 정리
# 최신 변경사항 받아와서 내 브랜치에 합치기
git pull --ff-only origin develop # 오직 빨리감기 가능할 때만 pull
git pull --rebase origin develop # 원격 커밋 뒤로 내 커밋을 1자로 재배치
# 원격에 내 작업 푸시하기
git push -u origin <branch> # 최초 1회 upstream 연결 푸시
git push # 이후 간단한 푸시
git push --force-with-lease origin <branch> # 안전한 강제 푸시3. 병합, 재배치 및 충돌 해결 (Merge, Rebase & Conflict)
# 브랜치 병합
git merge --no-ff <branch> # 머지 커밋을 명시적으로 남기며 병합
git rebase <branch> # 대상 브랜치 위로 내 커밋 재배치
# 충돌 발생 시 해결 프로세스
git status # 충돌 파일 확인
# (에디터에서 충돌 마커 <<<, ===, >>> 지우고 코드 수정)
git add <충돌수정파일>
git rebase --continue # 리베이스 계속 진행 (절대 commit 금지!)
git merge --continue # 머지 계속 진행
# 꼬였을 때 작업 취소하고 원상복구 (비상 탈출구)
git rebase --abort
git merge --abort4. 임시 보관 및 긴급 복구 (Stash & Recovery)
# 작업 중인 미완성 코드 서랍에 숨겨두기
git stash push -u -m "작업메모" # 새로 만든 파일까지 포함하여 메모와 함께 보관
git stash list # 보관된 스태시 목록 확인
git stash pop # 가장 최근 스태시 복원 및 삭제
# 실수로 날린 커밋 구출하기
git reflog # 모든 HEAD 포인터 이동 기록 확인
git reset --hard <커밋해시> # 해당 시점으로 완벽 원상복구
# 이미 원격에 푸시된 커밋 안전하게 취소하기
git revert <취소할커밋해시> # 반대 작업을 수행하는 새 커밋 생성
# 커밋 전 수정한 파일 직전 커밋 상태로 되돌리기
git restore <file>5. 로그 조회 및 이력 추적 (Log & Inspect)
# 깔끔한 1줄 커밋 그래프 보기 (가장 추천!)
git log --oneline --graph --decorate -n 15
# 특정 파일의 수정 이력만 추적
git log -p <file>
# 특정 라인을 누가 언제 수정했는지 확인 (코드 책임자 추적)
git blame <file>