[2020. 07. 28 ~ 29]
Git은 object 간의 연결로 구성된다. |
1. object 식별자
-sha-1알고리즘에 의해 생성된다.
-파일의 내용으로 식별자가 생성된다.(파일의 내용이 같다면 같은 식별자를 가진다.)
2. git add 실행 시 back ground 처리
-식별자 별로 object가 생성된다.
-각 파일과 식별자의 index정보가 저장된다.(link 정보)
3. git commit 실행 시 back ground 처리
-object tree정보를 담은 object가 생성된다.(link 정보의 object)_snapshot을 찍었다고 표현.
-commit 정보를 연결하는 object가 생성된다.(link 정보의 object)
・commit 정보에는 관련 object tree object 식별자와 parent commit 식별자가 함께 저장된다.
4. git status 실행 시 back ground 처리
-working directory의 contents와 blob object를 비교 : 변화가 있는 지 확인
-tree obejct와 index의 비교 : 변화가 commit 대기상태인지 확인
소감. multi table로 구성된 관계형DB와 같은 형태인 듯 하다. 하나의 object가 최소단위의 data 항목을 소지하고 있는 듯 보인다. 내용을 기준으로 blob object를 구성하는 것이 git이 data의 부하를 줄인다고 하는데, 코드가 조금이라도 다를 경우 다른 blob object가 된다면 부하를 줄이는 데 얼마나 효과적일 것인가? 하는 의문. |
'programming > TIL' 카테고리의 다른 글
[지옥에서 온 Git]개념_branch (0) | 2020.08.03 |
---|---|
[SEO]검색엔진 최적화_밋업 후기 (0) | 2020.08.02 |
[지옥에서 온 Git]개념_merge와 conflict (0) | 2020.07.31 |
[지옥에서 온 Git]command_branch (0) | 2020.07.29 |
[지옥에서 온 Git]command_기본 (0) | 2020.07.26 |