git status 원리

JeongChaeJin·2021년 2월 3일
0

Git

목록 보기
8/14
post-custom-banner

개요

  • git 은 status 를 어떻게 알고 있는 가?
  • 답은 index 파일에 있다.
  • index 폴더와 최근 commit objects 객체의 내용이 일치한다면 ? 현재 commit 할게 없는 것이라고 생각할 수 있다.

git status 원리

  • index 파일 내용

  • objects commit 내용의 tree 내용

  • index 의 내용과 commit 에서 tree 의 내용이 일치한다. -> clear

  • file1.txt 의 내용을 수정해서 git 상태를 봐보자.

git status

git add file1.txt

  • index 파일 내용

  • objects 최근 Commit 파일 내용

  • index 폴더 안의 내용과 최근 commit 내용이 일치하지 않는다.
  • 추적하고 있는 파일 중에 commit 할 준비가 될 파일이 있는 상태.

  • 이런 방식으로 add 가 되었고, Commit 대기 상태라는 것을 이 Flow 로 확인하는 것으로 추측할 수 있다.
    • Commit 시 objects 에 commit 객체가 만들어지면서 tree 의 해쉬 key 를 통해 들여다보는 정보는 index 의 정보와 일치하게 되면서 commit 할게 없다는 것을 알 수 있게 되는 것이다.

추가 정보

  • 용어를 알고 있을 필요가 있다.
    • working directory, working tree, work space (add 상태)
      -> index, staging area, cache (commit 상태) -> repository (저장소에 merge 상태)
profile
OnePunchLotto
post-custom-banner

0개의 댓글