Git 실무 가이드 · 치트시트

Git 명령 치트시트

매일 쓰는 명령, 브랜치·원격·복구 루틴, 실수하기 쉬운 위험 명령을 한 장으로 정리했습니다.

작성 기준2026년 7월

01

매일 쓰는 기본 루틴

작업 전후에 가장 자주 확인하는 명령입니다.

git status현재 수정, staging, branch 상태 확인
git diff아직 staging하지 않은 변경 확인
git diff --staged커밋 후보로 올린 변경 확인
git add <file>이번 커밋에 포함할 파일 선택
git add -p한 파일 안에서도 커밋할 변경 덩어리만 골라 staging
git commit -m "type: message"작은 목적 단위로 커밋
git show --stat <commit>특정 커밋의 변경 파일과 요약 확인
02

브랜치와 병합

기능 작업과 리뷰 흐름의 기본 명령입니다.

git branch브랜치 목록 확인
git switch <branch>브랜치 이동
git switch -c feature/name브랜치 생성과 이동을 동시에 실행
git merge <branch>현재 브랜치에 다른 브랜치 병합
git rebase main공유 전 내 작업 브랜치를 최신 main 위로 재배치
git rebase --continue충돌 해결 후 rebase 이어가기
git rebase --abortrebase 중단 후 시작 전 상태로 복귀
git branch -d <branch>병합 완료된 브랜치 삭제
03

원격 동기화

원격 저장소와 로컬 저장소를 맞출 때 사용합니다.

git remote -v연결된 원격 저장소 확인
git fetch origin원격 이력만 가져오기
git fetch --prune origin원격에서 삭제된 브랜치 추적 정보 정리
git log --oneline --decorate --graph --all로컬과 원격 이력 흐름 확인
git pull --ff-only origin main빠른 전진 가능한 경우에만 main 최신화
git push -u origin feature/name처음 push하면서 추적 브랜치 설정
git push이후 같은 브랜치에 변경 업로드
04

복구와 취소

문제가 생겼을 때 안전하게 멈추고 되돌리는 명령입니다.

git stash push -m "wip"커밋 전 변경 임시 보관
git stash list보관한 작업 목록 확인
git stash show -p stash@{0}특정 stash의 실제 변경 내용 확인
git stash pop보관한 변경 다시 적용
git stash drop stash@{0}필요 없어진 stash 삭제
git restore <file>working tree의 특정 파일 변경 되돌리기
git restore --staged <file>staging에서만 빼고 파일 수정은 유지
git commit --amend마지막 커밋 수정
git reset --soft HEAD~1커밋만 취소하고 변경은 유지
git revert <commit>공유된 커밋을 취소 커밋으로 되돌림
05

SVN 공존과 이전 점검

기존 시스템이 SVN 기준으로 운영될 때, 현재 저장소 상태와 Git 연동 가능성을 확인하는 명령입니다.

svn info현재 작업 사본의 SVN URL, revision, repository root 확인
svn log -l 5최근 SVN 커밋 이력 확인
svn statusSVN 작업 사본의 수정, 추가, 삭제 상태 확인
git svn clone --stdlayout <svn-url> <dir>trunk/branches/tags 표준 구조의 SVN 저장소를 Git 작업 저장소로 가져오기
git svn fetchSVN 원격의 새 revision을 Git 저장소로 가져오기
git svn rebaseSVN 최신 변경을 가져와 현재 Git 커밋 위에 재배치
git svn dcommitGit 커밋을 SVN revision으로 반영. 운영 SVN에 쓰기 작업이므로 권한과 정책 확인 후 실행
루틴

상황별 실무 루틴

작업 시작 루틴

오래된 main에서 브랜치를 만들면 충돌이 커집니다. 새 작업은 기준 브랜치 최신화부터 시작합니다.

git switch main기준 브랜치로 이동
git pull --ff-only origin mainmain을 원격 최신 상태로 맞춤
git switch -c feature/name작업 목적이 보이는 새 브랜치 생성
git status새 브랜치와 깨끗한 작업 상태 확인
커밋 전 셀프 리뷰

커밋은 저장 버튼이 아니라 리뷰 단위입니다. 넣을 변경과 뺄 변경을 분리한 뒤 커밋합니다.

git status수정 파일과 staging 상태 확인
git diff아직 커밋 후보가 아닌 변경 검토
git add -p관련 있는 변경 덩어리만 골라 staging
git diff --staged이번 커밋에 들어갈 내용 최종 확인
git commit -m "docs: update git command guide"목적이 드러나는 메시지로 커밋
충돌이 났을 때 멈춤 루틴

충돌 해결의 첫 단계는 현재 Git이 merge 중인지 rebase 중인지 확인하는 것입니다.

git status진행 중인 작업과 충돌 파일 확인
git diff --name-only --diff-filter=U충돌 상태인 파일만 목록화
git add <resolved-file>충돌 표시를 정리한 파일을 해결 완료로 표시
git rebase --continuepull --rebase 또는 rebase 중이었다면 이어가기
git merge --abortmerge 중 확신이 없을 때 시작 전으로 중단
판단 기준

일반 merge 중이면 해결 후 commit, rebase 중이면 rebase --continue입니다. 항상 git status 안내 문구를 기준으로 판단하세요.

방금 만든 커밋 바로잡기

아직 push하지 않은 마지막 커밋은 amend로 정리할 수 있습니다. 이미 공유했다면 팀 합의가 먼저입니다.

git add <missing-file>빠뜨린 파일을 staging
git commit --amend마지막 커밋에 변경 또는 메시지 반영
git show --stat HEAD수정된 마지막 커밋 요약 확인
git push --force-with-lease개인 브랜치에서만, 공유 후에는 합의하고 실행
이미 공유한 변경 되돌리기

main이나 팀 브랜치에 들어간 변경은 히스토리를 지우지 않고 취소 커밋을 남기는 방식이 안전합니다.

git log --oneline되돌릴 커밋 해시 확인
git revert <commit>해당 변경을 취소하는 새 커밋 생성
git show --stat HEADrevert 커밋 내용 확인
git push취소 커밋을 원격에 공유
원격 브랜치 정리

PR이 끝난 브랜치가 계속 보이면 원격 추적 정보와 로컬 브랜치를 나눠 정리합니다.

git fetch --prune origin원격에서 사라진 브랜치 추적 정보 제거
git branch -vv로컬 브랜치와 upstream 상태 확인
git branch -d feature/name병합 완료된 로컬 브랜치 삭제
git branch -D feature/name미병합 브랜치 강제 삭제. 필요 변경 여부 확인 후 실행
SVN 기반 레거시 시스템을 만났을 때

기존 운영 기준이 SVN이라면 Git 전환보다 먼저 이력, 배포, 권한, 감사 기준을 확인합니다.

svn infoSVN 저장소 URL과 현재 revision 확인
svn log -l 10최근 변경 빈도와 커밋 작성자 확인
svn status작업 사본에 미반영 변경이 있는지 확인
git svn clone --stdlayout <svn-url> <dir>표준 SVN 구조를 Git 작업 저장소로 변환해 검토
git svn fetchSVN의 새 revision을 Git 쪽으로 동기화
판단 기준

SVN을 Git으로 옮길 때는 전체 이력을 보존할지, 최근 릴리스 기준으로만 가져올지, 운영 태그와 배포 스크립트를 어떻게 검증할지 먼저 정해야 합니다.

주의

실무에서 특히 조심할 명령

git reset --hard

추적 중인 파일의 작업 변경까지 버립니다. 실행 전 diff와 백업 여부를 확인하세요.

git clean -fd

추적하지 않는 파일과 폴더를 삭제합니다. 생성 산출물인지, 필요한 원본인지 반드시 확인하세요.

git push --force

원격 히스토리를 덮어쓸 수 있습니다. 팀 브랜치에서는 force-with-lease도 합의 없이 쓰지 않습니다.

git svn dcommit

Git 커밋을 실제 SVN revision으로 반영합니다. 레거시 운영 저장소에 쓰기 작업을 하므로 브랜치, 권한, 배포 정책을 확인한 뒤 실행하세요.

실행 전 기준

되돌릴 수 없는 명령은 실행 전에 `git status`와 `git diff`를 먼저 확인하세요. 팀 브랜치에 영향을 주는 명령은 합의 없이 실행하지 않는 것이 원칙입니다.

템플릿

커밋 메시지와 PR 설명

커밋 메시지
docs: add git recovery checklistfix: prevent stale session redirect loopfeat: add aide mock exam route
PR
PR 설명에 넣을 것
  • 무엇을 바꿨는가
  • 왜 바꿨는가
  • 어떻게 확인했는가
  • 남은 위험은 무엇인가