더북(TheBook)

12.1.4 참조 목록

깃은 SHA1 해시 값을 생성하고, 커밋은 생성된 해시 값을 간접적으로 사용합니다. 또 깃에서는 생성된 해시 값을 쉽게 참조할 수 있도록 refs 목록을 생성합니다. 깃의 모든 refs 목록은 저장소의 숨긴 영역인 .git/refs 폴더 안에 저장됩니다.

또 복잡한 SHA1 해시 값을 쉽게 찾아 사용할 수 있도록 별칭도 쓸 수 있습니다. 별칭은 .git/refs 폴더 안에서 생성 및 관리할 수 있습니다. 즉, refs 정보는 깃의 기능들을 구현하는 내부 메커니즘입니다.

infoh@DESKTOP MINGW64 /e/gitstudy12 (master)

$ ls .git/refs -all 저장소 refs 파일 목록

total 4

drwxr-xr-x 1 infoh 197609 0 5 25 18:02 .

drwxr-xr-x 1 infoh 197609 0 5 25 18:06 ..

drwxr-xr-x 1 infoh 197609 0 5 25 18:06 heads

drwxr-xr-x 1 infoh 197609 0 5 25 18:02 tags

처음 저장소를 생성하면 .git/refs 폴더에는 headstags 폴더만 있습니다. 새로운 브랜치를 만들 때마다 해시 값을 가지는 refs 파일들을 생성합니다.

새로운 feature 브랜치를 만들고 .git/refs 폴더를 확인합니다.

infoh@DESKTOP MINGW64 /e/gitstudy12 (master)

$ git branch feature 브랜치 생성

 

infoh@DESKTOP MINGW64 /e/gitstudy12 (master)

$ ls .git/refs/heads -all 저장소 refs 정보

total 2

drwxr-xr-x 1 infoh 197609 0 5 25 18:14 .

drwxr-xr-x 1 infoh 197609 0 5 25 18:02 ..

-rw-r--r-- 1 infoh 197609 41 5 25 18:14 feature 브랜치의 HEAD 포인트

-rw-r--r-- 1 infoh 197609 41 5 25 18:06 master

feature 브랜치의 refs가 생성되었습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.