⭐ 개요

Git은 프로젝트의 시간과 함께 변화하는 파일들을 추적하고 관리하는 버전 관리 시스템(VCS)입니다. 개발자들의 협업과 코드 이력 관리를 효율적으로 도와주는 필수 도구입니다.

필요한 배경 지식

  • 기본적인 터미널/명령줄 사용법
  • 프로그래밍 기초 개념

📚 버전 관리의 필요성

1. 로컬 버전 관리

  • 간단한 데이터베이스를 사용하여 파일의 변경 사항을 관리
  • 예시: RCS(Revision Control System)
  • 제한된 협업 가능성

2. 중앙집중식 버전 관리 (CVCS)

  • 서버에서 모든 버전을 관리 (예: SVN, Perforce)
  • 장점:
    • 누가 무엇을 하고 있는지 알 수 있음
    • 관리자가 권한 제어 가능
  • 단점:
    • 서버 장애 시 작업 불가
    • 데이터 손실 위험

3. 분산 버전 관리 (DVCS)

  • Git이 대표적인 예시
  • 장점:
    • 전체 저장소를 로컬에 복제
    • 서버 장애와 무관하게 작업 가능
    • 여러 원격 저장소 활용 가능

💡 Git의 핵심 특징

1. 스냅샷 방식

  • 파일의 변화를 시간순으로 기록
  • 변경된 파일만 새로 저장
  • 변경되지 않은 파일은 이전 상태 참조

2. 로컬 작업

  • 대부분의 작업을 로컬에서 수행
  • 네트워크 연결 없이도 작업 가능
  • 빠른 작업 속도

3. 무결성

  • SHA-1 해시를 통한 체크섬 활용
  • 모든 데이터를 해시로 식별
  • 데이터 손상 방지

⚠️ Git의 세 가지 상태

  1. Committed: 데이터가 로컬 데이터베이스에 안전하게 저장된 상태
  2. Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태
  3. Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

💻 기본 작업 흐름

# 파일 수정
git add <파일명>    # Staging Area에 파일 추가
git commit -m "메시지"    # 변경사항 커밋
git push    #

참고 자료

'[DEV] Programming Tools > Version Management ∕ Git' 카테고리의 다른 글

Git의 역사  (0) 2025.02.03
[Git] Feature 브랜치 작업 과정  (0) 2021.07.16
[Git] 깃플로우 개념  (0) 2021.07.14
[Git] 프로젝트 초기 작업  (0) 2021.07.14
[Git] 핵심 명령어 정리  (0) 2021.07.14
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기