깃이 타임머신이라면 commit은 타임머신에 남기는 '돌아올 지점'이에요. 게임의 세이브 포인트, 사진 한 장 찰칵과 같아요.
| 비유 | 깃 | 하는 일 |
|---|---|---|
| 인물 세우기 | git add | 이번에 찍을 파일을 고름(스테이징) |
| 셔터 누르기 | git commit -m "메시지" | 고른 내용을 지점으로 남김 |
| 찍기 전 구도 확인 | git diff | 바뀐 줄을 먼저 확인 |
| 지점 목록 | git log --oneline | 커밋이 한 줄씩 쌓인 것을 봄 |
-a는 추적 중인 수정·삭제 파일만 자동으로 올리고 새 파일은 안 올려요. --amend는 직전 커밋을 바꾸니 이미 올린 커밋엔 쓰지 마세요.| 나쁜 예 | 좋은 예 |
|---|---|
| 수정 | Fix login timeout |
| update | Add sub() to calc.py |
| asdf | Add README |
첫 줄(제목)은 50자 안팎 이하, 한 줄 띄우고 자세한 설명(공식 문서 권고). 작게 자주: 기능 하나 끝날 때마다 커밋 하나.
$ git status -s ?? calc.py ← 추적 안 됨 $ git add calc.py A calc.py ← 스테이징 $ git commit -m "Add add() to calc.py" $ echo BROKEN > calc.py ← 일부러 망가뜨림 $ git restore calc.py ← 마지막 커밋 상태로 복구
claude -p에 "git status·diff를 보고 좋은 메시지로 커밋해 줘, 푸시는 하지 마"를 시켰더니(허용 도구는 git add/commit/status/diff/log만) 제목 Add mul() function and demo + 본문 한 줄로 커밋하고 작업 폴더가 깨끗해졌어요. 다만 수정한 파일과 새 파일(demo.py)을 한 커밋에 묶었어요.
git log --oneline)일을 맡기기 전에 먼저 한 번 커밋해 두면, 망가져도 돌아올 곳이 생겨요. (1회 시험 결과이며 모델·상황에 따라 다를 수 있어요.)