Git의 핵심은 "의미 있는 작은 단위의 변경 이력(스냅샷)을 남기는 것"입니다. 프롬프트 상의 브랜치 표시(branch-name) $를 명시하여 프로페셔널한 커밋 작성법과 실수를 수습하는 실무 테크닉을 다룹니다.
1. 왜 Staging Area(git add)가 필요할까?
# 1. 로그인 관련 파일만 먼저 스테이징
(feature/login) $ git add app/Http/Controllers/AuthController.php routes/auth.php
# 2. 첫 번째 독립된 커밋 생성
(feature/login) $ git commit -m "feat: 사용자 로그인 API 구현"
# 3. 그 다음 버그 수정 파일 스테이징 및 커밋
(feature/login) $ git add app/Services/UserService.php
(feature/login) $ git commit -m "fix: 회원가입 시 이메일 중복 체크 오류 수정"2. 실무 실수 1: 방금 커밋에 파일 1개를 빼먹었거나 오타가 났을 때
# 1. 깜빡하고 빼먹은 파일 스테이징
(feature/login) $ git add app/Models/User.php
# 2. 직전 커밋에 덮어써서 하나로 합치기 (--amend)
(feature/login) $ git commit --amend -m "feat: 사용자 로그인 및 회원 모델 구현"3. 실무 실수 2: git add를 잘못 올렸을 때 내리기
# 특정 파일만 스테이징 취소 (작업 내용은 그대로 유지됨)
(feature/login) $ git restore --staged app/Config/secret.php
# 스테이징된 전체 파일 한 번에 내리기
(feature/login) $ git restore --staged .4. 한 파일 내에서 원하는 부분만 쪼개서 커밋하기 (git add -p)
(feature/login) $ git add -p app/Http/Controllers/AuthController.php
Stage this hunk [y,n,q,a,d,s,e,?]? y