커밋은 특정 세가지 영역을 바탕으로 작동한다. 특정 세가지 영역은 Working Directory, Staging Area, Repository이다.
Working Directory는 실제로 다루고 있는 프로젝트 디렉토리 자체를 의미하고, Staging Area는 특정 버전으로 관리하고 싶은 파일들을 모아두는 장소이다. Repository는 특정 시점의 Staging Area의 모습을 커밋으로 남기면 그 커밋들이 저장되는 영역이다.
위와 같은 방법으로 커밋들이 Repository에 순차적으로 저장됨으로써 버전관리를 할 수 있게 된다.
완벽하게 수정한 파일은 바로 commit을 할 수 있지만 수정을 거친 파일이지만 commit으로 남기기 애매할 때 완벽하게 수정된 파일만 Staging Area에 올려 commit을 한다. 지금 당장 커밋을 하고 싶지 않은 파일이 존재할 수 있기 때문에 Staging Area을 거치는 것이다.
커밋하기
👉 git commit -m "(commit_message)"
❗ commit_message는 자세하고 친절하게 작성하는 것이 좋다. 무엇이 어디서 수정되었는지 상세하게 작성한다.
커밋 기록 확인하기
👉 git log
❗ 이때까지 진행한 커밋을 시간 순으로 확인할 수 있다. 이를 commit log, commit history라고 부른다. 커밋을 고유하게 식별할 수 있는 commit id, 사용자 주소와 이메일도 확인할 수 있다. 다시 밖으로 나갈때는 q를 입력해준다.
커밋 비교하기
👉 git diff (commit_id) (commit_id)
❗ commit id는 앞 4자리 정도만 작성해주면 된다.
📄출처 : ICT멘토링 git 기초강의 - 2강 git 기본기 장착!