What is in that .git directory?
meain.io
오늘날 대부분의 소프트웨어 개발에서 git 은 빼놓을 수 없는 형상 관리 도구로 자리잡혀 있습니다.
이러한 git 이 어떻게 동작하는지 'git init' 명령어로 생성되는 '.git' 폴더 하위의 데이터 변화를 자세히 분석하여 설명한 글이 있어 공유드립니다.
글에서 주요하게 언급된 '.git' 폴더 하위에 있는 데이터의 역할을 정리해보면 다음과 같습니다.
📌 config
현재 저장소에 대한 git 설정을 정리한 텍스트 파일입니다.
작성자, 파일 모드 등과 같은 저장소에 대한 몇 가지 기본 설정이 작성되어 있습니다.
📌 HEAD
저장소의 현재 헤드를 가리키는 파일입니다.
base branch 설정을 어떻게 했느냐에 따라 처음 생성되는 HEAD 파일은 refs/heads/master 또는 refs/heads/main 또는 기타 설정한 것으로 나타납니다.
현재 저장소가 바라보고 있는 헤드가 무엇인지를 알 수 있도록 .git/refs/heads 폴더의 경로를 저장합니다.
📌 hooks
git 동작 전후에 실행할 수 있는 모든 스크립트를 관리하는 디렉토리 입니다.
📌 objects
git object, 즉 저장소의 파일과 커밋에 대한 데이터를 관리하는 디렉토리 입니다.
📌 refs
HEAD 파일에서도 잠시 언급되었지만, 브랜치(.git/refs/heads)와 태그(.git/refs/tags)를 가리키는 참조 또는 포인터를 저장하고 관리하는 디렉토리 입니다.
공유드린 원문에 git command 에 따라 .git 디렉토리의 변화를 자세히 설명하고 있으니
관심있으신 분들께서는 한번 읽어보시면 좋겠습니다.
📚 원문
https://blog.meain.io/2023/what-is-in-dot-git/
📚 함께 보면 좋은 글
📺 만화로 보는 GIT 탄생 이야기: https://careerly.co.kr/comments/68908?utm_campaign=self-share
git hooks 동작방식: https://blog.meain.io/2019/making-sure-you-wont-commit-conflict-markers/
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 10월 10일 오전 8:31
토
... 더 보기요
... 더 보기제가 한국에서 직장 생활을 시작하고 가장 먼저 배운 것은 아이러니하게도 야근이었습니다. 신입이었던 제게 야근은 선택의 문제가 아니었거든요. 선배들에게 야근은 너무나 당연한 루틴이었고, 저녁 5시가 되면 "퇴근 안 해?"가 아니라 "저녁 뭐 먹을까?"라는 질문을 던졌습니다. 누가 정해놓은 것처럼 부장님이 퇴근해야 과장님이, 과장님이 퇴근해야 대리님이, 대리님이 퇴근해야 비로서 저 같은 신입도 퇴근 생각을 할 수 있었습니다.
... 더 보기L
... 더 보기