git add 원리

JeongChaeJin·2021년 2월 3일
0

Git

목록 보기
6/14

1. gistory 사용 (Mac 기준)

  • pyenv 를 통해 python version 3.8 사용
  • pip install gistroy
  • cd repository (git 저장소로 이동)
  • cd .git (.git으로 이동)
  • gistroy (pyenv virtual 상태가 activate 된 상태일 때) 실행
  • 터미널에 무슨 ip 주소가 나오는데 웹으로 열어서 사용하는 거라 크롬에 복붙하면된다.

2. git add 원리

  • 두개의 파일 ./index, ./objects 가 바뀐 것을 확인 할 수 있다.
    • a5 폴더의 bce... 라는 파일이 추가됐다.

  • 나는 file1.txt 를 만들고 내용을 test1 으로 했다. objects 안에 만들어진 폴더를 들여다보니 내용이 저장되어있다.

  • index 폴더의 내용을 확인해보니 obects 에 만들어진 a5 폴더안의 bce... 파일의 이름이 연결되어있는 해쉬 key 와 변경된 파일 이름이 저장되어있다.

  • 다른 파일들을 만들면서 add 를 해봐도 git은 동일하게 history 가 이 flow 를 따른다.

  • 요약해보자면

    1. index 에 변경된 파일의 이름과 해쉬 key 가 담긴다.
    2. objects 라는 폴더 안에 각 파일의 폴더의 add 된. 즉, 추적하기로한 파일의 내용이 담긴다.

추가 적인 내용

  • A, B 파일의 내용이 같고, 파일의 이름만 다르면 -> index 파일에 저장된 해쉬 key 값
    은 동일하다.

    • 10000개의 동일 내용의 파일을 갖고있더라도 해쉬 Key 값은 같다. git 의 정보 저장의 효율성을 확인할 수 있다.
  • file2.txt 를 만들어서 file1.txt 와 똑같은 내용을 갖도록 만들어봤다.

    • 파일의 이름만 다르고, 같은 해쉬 key 값을 가진 것을 확인할 수 있다.
    • objects 폴더안에는 또 폴더를 만들어서 내용을 저장하지 않았고, index에 생성된 파일은 같은 곳을 가리키고 있다.
profile
OnePunchLotto

0개의 댓글