Biz Assist 작업하면서 기능 단위로 커밋하려고 하다 보니 git status --short를 자주 사용한다.
처음에는 수정된 파일 목록만 확인했는데 앞에 붙는 두 글자의 의미도 다시 정리해 뒀다.
git status --short
출력 예시
M Personnel.jsx
A PersonnelCandidates.jsx
?? new-file.jsx
| 표시 | 의미 |
|---|---|
M | 수정 |
A | 추가 |
D | 삭제 |
R | 이름 변경 |
?? | Git이 아직 추적하지 않는 파일 |
XY 파일명
X → staged 상태
Y → working tree 상태
여기서 staged는 git add로 커밋할 변경사항을 올려둔 상태다.
예를 들어
M Personnel.jsx
수정한 파일을 git add까지 한 상태.
M Personnel.jsx
수정했지만 아직 git add하지 않은 상태.
A PersonnelCandidates.jsx
새 파일을 git add한 상태.
?? PersonnelCandidates.jsx
새 파일이지만 아직 Git이 추적하지 않는 상태.
MM Personnel.jsx
수정한 파일을 stage에 올린 다음 다시 수정한 상태다.
파일 수정
→ git add
→ 파일 추가 수정
→ MM
이 상태에서 커밋하면 stage에 올라간 수정 내용만 포함된다.
나중에 추가로 수정한 내용까지 커밋하려면 다시 git add해야 한다.
Biz Assist에서는 성격이 다른 변경사항을 분리해서 커밋하려고 한다.
그래서 커밋 전에
git status --short
로 어떤 파일이 수정됐고 어떤 파일이 stage에 올라가 있는지 확인한다.
다만 이 명령어는 파일 상태만 보여주기 때문에 실제로 어떤 코드가 커밋에 포함되는지는 다음 명령어로 확인하는 게 정확하다.
git diff --cached
내가 기억해 둘 건 이 두 가지.
git status --short
→ 변경 파일과 stage 상태 확인
git diff --cached
→ 이번 커밋에 들어갈 실제 변경 내용 확인