본문 바로가기

기술스택/Git

[Git] git add -A vs git add (디렉토리 구조 변환 중)

 

git add -A .

현재 디렉토리 기준 전체 변경 사항을 정확하게 반영해서 스테이지에 올리는 명령. 삭제된 파일까지 함께 처리되기 때문에 커밋 상태를 깔끔하게 동기화할 수 있는 게 장점.

🔍 비교: git add -A . vs git add .

명령어 설명 삭제 파일 포함 여부
git add . 변경/추가된 파일만 스테이징 ❌ 삭제 파일 반영 안 됨
git add -A . 변경/추가/삭제된 모든 파일을 스테이징 ✅ 삭제 파일 반영됨

 

✅ 깔끔한 커밋 상태 유지란?

  • 디렉토리 구조 리팩토링(FSD 구조 정리, 폴더 이동 등)을 할 경우,
  • 파일이 삭제 + 새로 생성되는 것처럼 처리되기 때문에, 삭제된 파일도 스테이지에 올려야 진짜 구조 변경이 정확하게 커밋됩니다.

예시:

# 변경 전
src/components/Header.js

# 변경 후
src/widgets/header/Header.js

이때 Header.js는 옮겨졌지만, git add .만 하면 삭제로 인식되지 않아서 커밋에 반영되지 않음 → 커밋 누락 위험

 

📌 결론

디렉토리/파일 구조 정리, 대규모 리팩토링, rename, delete 작업이 있는 경우 git add -A .가 더 안전하고 깔끔한 커밋을 만들 수 있습니다.

단순 변경이나 기능 추가만 있을 땐 git add .도 충분하지만, 구조 변경이 있을 때는 -A가 필수에 가깝습니다.