Linux와 커맨드 라인 기초
Git으로 관리하고 있는 파일 main.c를 편집한 후 'git commit -m "fix"'만 실행했더니, 'no changes added to commit'이라고 표시되고 커밋되지 않았다. 이유로 올바른 것은?
- A커밋하기 전에 git push로 변경을 공유 저장소에 보내 두어야 하기 때문에
- B커밋에 포함할 변경은 먼저 git add로 스테이징 영역에 등록해 두어야 하기 때문에
- CGit은 파일을 저장했을 때 자동으로 커밋하므로, git commit을 실행할 필요가 없기 때문에
정답과 해설 보기
정답: B. 커밋에 포함할 변경은 먼저 git add로 스테이징 영역에 등록해 두어야 하기 때문에
Git에서는 작업 디렉터리에서 편집한 변경 가운데 git add로 스테이징 영역(인덱스)에 등록한 것만이 다음 git commit으로 기록됩니다. 이 2단계 구조 덕분에 편집한 여러 변경 가운데 관계있는 것만 골라 하나의 커밋으로 만들 수 있습니다. git status를 사용하면 어떤 변경이 스테이징되어 있는지 확인할 수 있습니다. 추적하고 있는 파일의 변경을 한꺼번에 등록하여 커밋하는 git commit -a라는 방법도 있습니다.