Git 명령어 치트시트
Git에는 약 150개의 하위 명령어가 있고, 그중 몇몇은 위험할 만큼 서로 비슷합니다, reset 대 restore, checkout 대 switch, rm 대 restore --staged. 이 치트시트는 실제로 자주 입력하는 명령어를 상황별로 묶었습니다: 일상 워크플로, 브랜치, 실수 되돌리기, 스태시. 원하는 그룹을 골라 블록을 복사하세요.
치트시트 사용 방법
-
1
주제를 고르세요
일상, 브랜치, 되돌리기, 스태시, 각각이 서로 다른 사고 모드에 대응합니다.
-
2
블록을 훑어보세요
모든 줄은 그대로 동작하는 완전한 명령어입니다. 명시적으로 표시된 경우가 아니면 꺾쇠괄호 자리표시자는 없습니다.
-
3
필요한 것을 복사하세요
터미널에 붙여넣고 브랜치 이름이나 커밋 SHA만 바꿔서 실행하세요.
왜 숙련된 사용자조차 명령어에 혼란스러워할까
Git의 포슬린(porcelain) 명령은 하나씩 덧붙여지며 자라났습니다. checkout은 ‘브랜치 전환’과 ‘파일 복원’ 두 가지에 겹쳐 쓰였고, reset은 ‘작업 폐기’와 ‘브랜치 포인터 이동’ 사이에 걸쳐 있습니다. Git 2.23부터는 더 명확한 동사가 생겼습니다.
| 이전 | 새 명령(더 명확함) |
|---|---|
git checkout branch |
git switch branch |
git checkout -b new |
git switch -c new |
git checkout -- file |
git restore file |
git checkout --staged file |
git restore --staged file |
안전한 되돌리기 단계
- 파일 하나 복원:
git restore path/to/file(스테이징 안 됨) 또는git restore --staged path/to/file(스테이징됐지만 커밋 안 됨). - 마지막 커밋을 취소하되 변경 사항은 유지:
git reset --soft HEAD~1. - 마지막 커밋을 취소하고 변경 사항도 폐기:
git reset --hard HEAD~1(되돌릴 수 없으니 커밋하지 않은 작업이 없는지 먼저 확인하세요). - 공유된 커밋 되돌리기:
git revert <sha>, 기존 커밋을 무효화하는 새 커밋을 만들며, 이미 푸시된 히스토리에서도 안전합니다.
스태시(stash) 사용 예절
- 항상 메시지를 붙여 스태시하세요:
git stash push -m "wip: API 연결 중". - 팝 하기 전에
git stash list로 스태시 목록을 확인하세요, 이름 없는 스태시는 금세 쌓입니다. git stash pop은 적용 후 삭제하고,git stash apply는 적용 후 그대로 남겨 둡니다.
복구
하드 리셋 후 커밋을 잃어버렸나요? 대부분 아직 reflog에 남아 있습니다. git reflog를 실행해 지난 90일간의 모든 HEAD 이동 내역을 확인하고, git reset --hard <sha>로 정상 상태로 되돌리세요.
자주 묻는 질문
Git 2.23(2019년 8월)부터 프로젝트는 여러 역할이 겹쳐 있던 checkout을 둘로 나눴습니다. switch는 브랜치를 바꾸고, restore는 파일을 되돌립니다. 두 명령어 모두 하위 호환을 위해 남아 있지만, 나중에 셸 히스토리를 다시 볼 때 훨씬 읽기 쉽습니다.
reset은 브랜치 포인터를 옮깁니다(경우에 따라 작업 트리까지 함께). revert은 이전 커밋을 취소하는 새 커밋을 만들며 공유 브랜치에서도 안전합니다. checkout / restore는 히스토리를 다시 쓰지 않고 작업 트리의 파일만 바꿉니다.
git revert <sha>로 이를 상쇄하는 커밋을 추가한 뒤 그 커밋을 푸시하세요. 팀이 명시적으로 합의하지 않았다면 공유 브랜치에서 git reset --hard + git push --force는 피하세요.
명령어는 페이지에서 렌더링되는 정적 텍스트입니다. 선택한 주제는 해당 명령어를 표시하기 위해서만 서버로 전송되며, 두 단계 사이를 이동할 때는 페이지 링크에도 실립니다. 저장되거나 기록되지 않습니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이메일 검증기
이메일 주소를 검증합니다. RFC 5322 구문 검사, 실시간 MX 레코드 조회, 그리고 로컬 파트, 도메인, 길이 정보를 제공합니다. 이메일은 전송되지 않습니다.
EditorConfig 생성기
들여쓰기 스타일과 크기, 줄 끝, 문자 인코딩, 공백 규칙을 지정해 .editorconfig 파일을 생성하고 IDE와 편집기 전반의 형식을 일관되게 유지하세요.
이 도구는 다른 언어로도 제공됩니다
- คู่มือคำสั่ง Git สำหรับการใช้งานอย่างรวดเร็วและสะดวก [TH]
- Folha de Dicas de Comandos Git [PT]
- Ściąga z poleceń Git [PL]
- Hoja de trucos de comandos de Git [ES]
- Lembar Contekan Perintah Git [ID]
- Git-commando's spiekbriefje [NL]
- Bảng tra nhanh lệnh Git [VI]
- ورقة مرجعية لأوامر Git [AR]
- Git-kommandon fusklapp [SV]
- Gitコマンドチートシート [JA]
- Feuille de triche des commandes Git [FR]
- Git-Befehlsübersicht [DE]
- Git Command Cheatsheet [EN]
- Promemoria dei comandi Git [IT]
- Шпаргалка по командам Git [RU]
- Git Komutları Kopya Kağıdı [TR]
- Git命令速查表 [ZH]