커밋은 커밋 객체에 변경사항만 부분적으로 저장하지 않고 변경된 파일이 통째로 저장된다. SVN(Subvision)과 같은 버전 관리 시스템과 Git의 차이는 Git이 커밋에 변경된 부분만 저장하는 것이 아니라 전체 코드를 저장한다는 것이다.
- SVN(Subvision): 차이점만 저장하는 방식으로 맨 처음까지 거슬러 올라가며 바뀐점을 모두 반영하는 계산을 해야 한다.
- Git: 이전 버전에서 바뀐 커밋과 비교해서 연산을 한 번만 하고 이전 파일의 링크만 저장하기 때문에 용량도 적다는 특성이 있다.
add . 한 후 commit(변경사항의 묶음으로 버전 저장)을 하는데 add 하면 untracted > staged 상태로 바뀐 뒤에 commit 할 수 있게 된다. add는 수정하지 않은 상태여도 일단 스테이지로 올릴 수 있는 거고, 스테이지에 올려진 상태에서 수정하여 unmodified → modified 상태에서 commit을 할 수 있다
요약
1. Git으로 추적하는 파일의 4가지 상태: untracted, unmodified, modified, staged
2. Working directory에 있는 modified, untracted 파일을 스테이지로 올려서 staged로 변경한다.
3. 커밋을 하면 unmodifed로 돌아가서 다시 파일을 수정할 수 있다.
'Git' 카테고리의 다른 글
[Git] Branch : Git으로 협업하기, Git 커밋 관리, Git Bash 명령어 정리 (0) | 2023.07.14 |
---|---|
[Git] push 시 [!rejected] 에러가 뜬다면 어떻게 해결할까? (0) | 2023.07.14 |
[Git] Git 초기설정, 인텔리제이에 깃을 연동하고 로컬 저장소에서 원격 저장소에 커밋하기 (0) | 2023.07.14 |
SourceTree에 Github를 연동하고 Branch를 생성해보자 (0) | 2023.04.05 |