Git 개념 정리

Ryan Han·2024년 12월 16일
0

소스코드 형상관리 시스템

CVS : 서버와 클라이언트로 구분된 시스템, 롤백 불가능

SVN : CVS의 제한적인 기능을 대체하기 위해 개발, 롤백 가능

Git : 분산형 버전 관리 시스템, 리눅스 토발즈가 리눅스 커널 개발 위해서 만듦. 원격서버 상태에 구애받지 않고 형상관리 가능

GitHub : 프로젝트 저장뿐만 아니라, 다른 사용자들과 함께 코드 공유, 및 협업 같이 할 수 있도록 함.

GitHub에서 사용하는 저장소 종류

  1. 저장소 : 파일이나 디렉토리를 저장하는 장소

  2. 로컬 저장소 : 본인 PC에 파일이 저장되는 개인 저장소

  3. 원격 저장소 : 서버 등 네트워크에 있는저장소, GitHub에서 관리되고 있는 저장소.

-->> 로컬저장소에서 작업을 수행하고, 그 결과를 원격저장소에 저장함.

분산 버전 관리 시스템(DVCS)

DVCS

  • 서버에 등록되어 있는 프로젝트의 버전 관리 정보를 전부 복제
  • 서버에 문제가 생겨도, 복제물로 문제없이 협업 진행 가능
  • 사용자가 가진 작업물을 서버에 저장할 수 있음

Git 개념

**Git 탄생 배경

  • 리눅스 커널 개발을 위해 DVCS이 필요하여 Git이 탄생
    --> 리눅스 커널을 압축 파일을 이용하여 단순하게 관리

  • Git 목표 : 빠른 속도, 단순한 구조, 비선형적 개발, 완벽한 분산.

**스냅샷이란

  • 특정 시점의 파일 상태( Git은 스냅샷 방식으로 형상관리)
  • 시간 순으로 프로젝트의 스냅샷을 생성
  • 수정되지 않은 파일은 이전 스냅샷의 파일을 그대로 참조
  • 파일 크기가 크고 변경점이 많은 프로젝트에서도 유용

** Git에서 사용하는 영역

  • 작업 디렉터리 : 버전 관리가 필요한 파일이 저장되어 있는 디렉터리, .git 디렉터리에 반영

  • 스테이징 영역 : 곧 커밋할 파일에 대한 정보를 담은 영역

  • .git 디렉터리 : Git의 버전관리를 위한 데이터가 저장

profile
소프트웨어학과 대학생

0개의 댓글