[Git] 레퍼런스란?

Published: by Creative Commons Licence

레퍼런스란 커밋 체크섬을 이름으로 사용할 수 있도록 관리되는 파일 시스템이다. 예를 들어 master라는 브랜치는 사실 특정 커밋을 가리키는 포인터인데, 이 포인터가 어느 커밋을 가리키는지를 알 수 있도록 master라는 파일에 해당 커밋의 체크섬을 저장한다.

$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

$ git show HEAD
commit f38273c9ecbea5a009667316425883a556f9ca47 (HEAD -> master, origin/master, origin/HEAD)

$ cat .git/refs/heads/master
f38273c9ecbea5a009667316425883a556f9ca47

.git/refs/heads/master 파일을 열어보면 master 브랜치의 마지막 커밋에 해당하는 체크섬이 저장되어 있는걸 확인할 수 있다.