Git 개념알기

2025. 8. 1. 15:05·데이터 분석/04. Git

Git 핵심 : 레포지토리와 커밋

🔸 레포지토리(repository)란?

  • Git이 프로젝트의 모든 변경 이력을 저장하는 저장소입니다.
  • .git 폴더가 곧 레포지토리이며, 이 안에 모든 버전 정보가 들어 있습니다.
  • Git은 내부의 객체 데이터베이스(Object Database)에
    파일과 폴더의 시점별 상태(스냅샷), 변경 이력, 메타데이터 등을 저장합니다.

🔸 레포지토리에 저장되는 정보

파일의 스냅샷 특정 시점의 파일 상태를 복사하여 저장 (변경된 부분만 저장)
커밋(Commit) 변경 내역, 메시지, 작성자, 시간 등의 정보를 담은 스냅샷 단위
브랜치 정보 작업 흐름을 분기하거나 관리하기 위한 지점 정보
기타 메타데이터 커밋 해시값, 사용자 정보, 로그 기록 등
 

 

🔸 커밋(commit)이란?

  • 행위:
    프로젝트 디렉토리의 현재 상태를 하나의 버전으로 기록하는 것
  • 결과물:
    그 시점의 스냅샷(파일 구조와 내용) + 메타정보
    → 즉, 하나의 버전 단위

✅ 커밋은 "변경된 점"이 아닌, "그 시점의 디렉토리 전체 상태"를 기록한 것

🔸 Git의 진짜 동작 방식

  • Git은 커밋을 만들 때, 프로젝트 디렉토리 전체를 쭉 훑어서
    모든 파일의 현재 상태(내용)를 기록합니다.
  • 단, 이전 커밋과 내용이 똑같은 파일은 중복 저장하지 않고 재활용하죠.

즉, 내부적으로는

“변경된 점만 저장하는 것처럼 보이지만,
논리적으로는 전체 디렉토리 구조의 스냅샷을 저장하는 구조예요.”

🔸 커밋과 레포지토리의 관계

개념설명
커밋 프로젝트의 특정 시점을 저장하는 단위 (버전 기록 + 결과물)
레포지토리 커밋들을 차곡차곡 저장하고 관리하는 장소 (.git 폴더)
 

🔸 레포지토리가 있어서 가능한 Git 기능

  • 특정 시점으로 되돌리기 (git checkout, git revert)
  • 서로 다른 시점 비교하기 (git diff)
  • 누가, 언제, 어떤 변경을 했는지 추적 (git log, git blame)

'데이터 분석 > 04. Git' 카테고리의 다른 글

gitignore : Git으로 관리하지 않을 파일과 폴더  (0) 2025.11.05
Git 설정하기  (2) 2025.11.05
CLI vs GUI  (0) 2025.11.05
Git의 3가지 작업 영역  (2) 2025.08.01
Windows에서 Git 설치하기  (0) 2025.07.31
'데이터 분석/04. Git' 카테고리의 다른 글
  • Git 설정하기
  • CLI vs GUI
  • Git의 3가지 작업 영역
  • Windows에서 Git 설치하기
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    revert
    프로그래머스
    SQL
    DENSE_RANK
    tableaubootcamp
    쿼리테스트
    rank
    코테
    이행성
    ROW_NUMBER
    윈도우함수
    코딩테스트
    streamlit
    tableau
    solvesql
    cross_join
    코드잇스프린트후기
    Reset
    git
    AARRR
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
Git 개념알기
상단으로

티스토리툴바