'
본문 바로가기
study/Git&Github

[Git & GitHub] 개요 - 버전 관리의 시작

by meowdule 2025. 1. 28.

 

1. 버전 관리 시스템(VCS) 개요

 

소프트웨어 개발에서는 프로젝트의 변경 이력을 추적하고, 협업을 원활하게 하기 위해
버전 관리 시스템(VCS, Version Control System)을 사용합니다.
이를 통해 코드의 변경 내역을 기록하고, 이전 버전으로 복구할 수 있으며, 여러 개발자가 동시에 작업할 수 있습니다.

 

버전 관리 시스템의 종류

  1. 로컬 버전 관리(Local VCS): 개인 PC에서만 관리되는 방식.
  2. 중앙 집중식 버전 관리(CVCS): 서버에 저장소를 두고 클라이언트가 연결.
  3. 분산형 버전 관리(DVCS): 각 사용자가 전체 이력을 보유(Git, Mercurial 등).

버전 관리 시스템(VCS)의 필요성

  • 변경 사항 추적: 과거 변경 사항을 쉽게 확인 가능.
  • 협업 지원: 여러 개발자가 동시에 작업할 때 충돌 해결 및 변경 내역 관리.
  • 복구 용이성: 이전 상태로 손쉽게 되돌릴 수 있어 안전한 작업 가능.

 

 

 

2. Git의 동작 원리 및 주요 개념

 

Git은 가장 널리 사용되는 분산형 버전 관리 시스템으로,
프로젝트의 모든 변경 이력을 로컬에 저장할 수 있어 인터넷이 없는 환경에서도 작업이 가능합니다.

 

Git의 주요 기능

  1. 버전 관리:
    •   파일의 변경 이력을 저장하고,
      이전 버전으로 되돌리거나 특정 시점의 상태를 복원할 수 있습니다.
    •   중앙 서버 없이 로컬에서 버전 관리가 가능하며,
      원격 저장소와 동기화하여 협업이 용이합니다.
  2. 분산형 저장소:
    •   모든 개발자는 전체 프로젝트 히스토리를 복사하여 로컬에 저장할 수 있습니다.
    •   중앙 서버에 의존하지 않으므로 인터넷 연결 없이도 작업이 가능합니다.
  3. 브랜치 관리:
    •   여러 브랜치를 생성하여 독립적으로 개발하거나 테스트할 수 있습니다.
    •   브랜치를 병합(Merge)하거나 삭제하여 개발 프로세스를 관리할 수 있습니다.

Git의 사용 목적

  1. 효율적인 코드 관리:
    •   프로젝트의 변경 이력을 체계적으로 관리하여 개발 효율성을 높입니다.
  2. 팀 협업:
    •   분산형 저장소를 통해 팀원들이 각자 작업 후 병합하며,
      원격 저장소를 통해 최신 상태를 공유합니다.
  3. 백업 및 복구:
    •   로컬 및 원격 저장소를 활용해 프로젝트를 백업하며,
      필요 시 특정 버전으로 복구할 수 있습니다.

 

추가 설명

  • Git의 기본 동작은 "스냅샷" 방식으로 작동하여 각 파일의 전체 내용을 저장하는 대신 변경된 부분만 기록합니다.
    이는 저장 공간을 절약하고 효율적인 추적을 가능하게 합니다.

 

 

 

 

 

3. GitHub이란? (원격 저장소 및 협업 개념)

 

GitHub는 Git을 기반으로 한 클라우드 기반 원격 저장소 서비스로,
팀원 간 협업을 쉽게 할 수 있도록 다양한 기능을 제공합니다.

GitHub의 주요 기능

  • 저장소 관리: 프로젝트의 변경 이력을 저장 및 공유.
  • 이슈 트래킹: 버그 및 새로운 기능 요청을 관리.
  • 풀 리퀘스트(Pull Request): 코드 변경 사항을 제안하고 리뷰.
  • CI/CD 지원: GitHub Actions를 통한 자동화된 빌드 및 테스트.

GitHub의 사용 목적

  • 오픈 소스 프로젝트에서의 기여.
  • 팀 프로젝트에서 협업과 코드 리뷰.
  • 프로젝트의 중앙 저장소로 백업 및 공유.

 

 

 

 

 

 

4. Git과 GitHub의 차이점

 

구분 Git GitHub
개념 분산형 버전 관리 도구 원격 저장소 서비스
주 용도 로컬에서 변경 이력 추적 협업 및 코드 공유
작동 방식 CLI/GUI 기반 웹 기반 + CLI 지원

추가 설명

Git은 로컬에서 버전 관리 도구로 사용되며,
GitHub는 이를 활용해 팀원 간 협업 및 원격 저장소 관리 기능을 제공합니다.
따라서 Git 없이 GitHub를 사용할 수 없으며, GitHub는 Git의 기능을 확장해 온라인 협업을 지원합니다.

 

 

 

5. Git의 주요 활용 사례

 

Git은 다음과 같은 목적으로 활용됩니다:

  • 소프트웨어 개발 프로젝트 관리
    :
    대규모 프로젝트에서도 효율적인 버전 관리 가능.
  • 협업 환경에서의 코드 공유 및 리뷰
    :
    팀원 간의 협업이 용이하며 코드 리뷰를 통한 품질 향상.
  • 오픈 소스 프로젝트 참여
    :
    글로벌 커뮤니티와 협력하여 프로젝트에 기여 가능.
  • 다양한 환경에서의 버전 백업 및 복원
    :
    실수나 장애 발생 시 데이터 복구 용이.
 

 

 

6. Git을 배우면 좋은 이유

 

  1. 개인 프로젝트 관리: 텍스트 파일 기반 프로젝트 관리.
  2. 협업 능력 향상: 여러 명이 동시에 프로젝트 작업 가능.
  3. 효율적인 코드 관리: 과거 버전으로 손쉽게 복구 가능.
  4. 오픈 소스 참여: 글로벌 프로젝트 기여 기회 제공.
  5. 배포 및 테스트 자동화: CI/CD 파이프라인 구현 가능.
 

 

 

마무리
다른 사람과의 협업에 도움이 될 뿐더러 내 코드의 문제 발생시 되돌아가기에도 best