📂 .git 폴더에는 무엇이 있나요?

오늘날 대부분의 소프트웨어 개발에서 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/

What is in that .git directory?

meain.io

What is in that .git directory?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 10일 오전 8:31

 • 

저장 144조회 6,294

댓글 0

    함께 읽은 게시물

    LINE 메시징 서버가 대용량 트래픽에 대응하는 전략

    이전에 작성한 [쿠팡의 대규모 트래픽 처리 전략 요약] 글에 이어서 라인에서는 어떻게 처리하는지 정리해봤습니다. 본 글은 라인의 Tech Youtube 와 Tech Blog 를 기반으로 작성되었습니다. <1. 기본적인 Connection 관리 전략> 매번 요청할 때마다 Connection 을 맺지 않고, HTTP 와 TCP Keep-Alive 를 사용하여 Connection 을 유지해 성능 향상을 이룹니다. Proxy 와 어플리케이션의 WAS 가 연결된 구조에서는 Proxy 단에서 WAS 에 전달할 수 있는 ... 더 보기

    라인개발실록

    YouTube

    라인개발실록

     • 

    댓글 3 • 저장 230 • 조회 6,239


    ⟪토스가 만든 리서치툴, TNS⟫

    ... 더 보기

    토스가 특허 낸 리서치툴, TNS (Toss Navigation Score) 제작기

    toss.tech

    토스가 특허 낸 리서치툴, TNS (Toss Navigation Score) 제작기

     • 

    저장 3 • 조회 897


    대량의 트래픽이 몰려올 때 나는 어떻게 해야하나? - (feat. Cac

    🌱 0. 들어가며

    ... 더 보기

    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD)

    ... 더 보기

    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD) | 요즘IT

    요즘IT

    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD) | 요즘IT

    야근의 관성

    제가 한국에서 직장 생활을 시작하고 가장 먼저 배운 것은 아이러니하게도 야근이었습니다. 신입이었던 제게 야근은 선택의 문제가 아니었거든요. 선배들에게 야근은 너무나 당연한 루틴이었고, 저녁 5시가 되면 "퇴근 안 해?"가 아니라 "저녁 뭐 먹을까?"라는 질문을 던졌습니다. 누가 정해놓은 것처럼 부장님이 퇴근해야 과장님이, 과장님이 퇴근해야 대리님이, 대리님이 퇴근해야 비로서 저 같은 신입도 퇴근 생각을 할 수 있었습니다.

    ... 더 보기

     • 

    저장 15 • 조회 4,004


    LINE 의 오픈챗 서버는 어떻게 급증하는 트래픽을 다룰까?

    L

    ... 더 보기

     • 

    댓글 2 • 저장 213 • 조회 6,826