Git Commit의 원리(Feat. snapshot[스냅샷], tree,parent), Object 파일의 3가지 종류(Feat. commit ID, tree ID, blob ID)
결론은 먼저 말하자면, Git Commit 명령어를 실행하여 새로운 Version을 저장하는 순간 1] 해당 Version에 대한 commit ID가 생성된다. 2] 해당 버전 파일에 디렉토리가 존재한다면 Tree 노드(=Tree ID)가 생성돼, 계층적으로 그 디렉토리 안의 포함된 파일들을 나타낸다. 3] 만약 해당 버전 파일에 디렉토리가 하나도 없고, 순수 파일(EX.txt파일)만이 존재를 한다면, blob(blob ID)으로 그 순수 파일을 나타낸다. 4] 또한 Parent 노드도 있다. 이 노드는 그 이전의 Version에 대한 정보를 담고 있는 Tree 노드이다. (아래의 그림을 참조) (Version 1은 최초의 버전이므로, Parent가 존재하지 않는다) 위와 같이 Obejct 파일은 3가지..
더보기