git 시작하기

2022. 10. 26. 19:26Git

728x90

버전 관리란?

버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.

 

그렇다면, 버전 관리의 장점은?

  • 각 파일 또는 프로젝트를 이전 상태로 되돌릴 수 있음.
  • 시간에 따른 수정 내용 비교 가능
  • 이슈가 발생했다면, 누가 언제 만들어낸 이슈인 지 알 수 있음.
  • 파일을 잃어버리거나, 잘못됬을 때도 쉽게 복구 가능

버전 관리의 역사

  1. 로컬 버전 관리(로컬 VCS) : Local Computer에 파일 변경 정보를 관리할 데이터베이스를 만들어 관리하는 방식
  2. 중앙 집중식 버전 관리(CVCS) : 중앙에서 파일을 관리하는 서버가 있다.
  • 로컬 VCS에 비해 관리하기 편함(누가 무엇을 하고 있는 지 파악하기 쉬움)
  • But, 중앙 데이터베이스에 문제가 생긴다면?   큰일나겠죠!
  1. 분산 버전 관리 시스템(DVCS) : 단순히 파일의 마지막 스탭샷을 Checkout 하지 않고 저장소 전부를 복제한다. (Git)
  • 서버에 문제가 생겨도 복제물로 다시 작업 시작 가능
  • 클라이언트끼리도 서버를 복제 가능

 

 

Git의 기초

 

  • 차이가 아니라 스냅샷

git에서는 변경된 파일 전체를 저장하지 않고, 파일에서 변경된 부분을 찾아 수정된 내용만 저장한다.

  • 거의 모든 명령을 로컬에서 실행

프로젝트의 모든 히스토리가 로컬디스크에 있기 때문에 네트워크에 영향을 받지 않는다.

즉, 오프라인 상태이거나 VPN으로 연결할 수 없어도 할 수 없는 일이 별로 없다. 비행기나 기차 등에서 작업하고 네트워크에 접속하고 있지 않아도 커밋 할 수 있다.

  • Git의 무결성

git은 데이터를 저장하기 전에 항상 체크섬을 구하고, 그 체크섬으로 데이터를 관리한다.

체크섬이란, git에서 사용하는 가장 기본적인 데이터 단위이다.

  • Git은 데이터베이스에 데이터를 추가할 뿐

 

Git 프로젝트의 3가지 단계

Git directory : 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳

(다른 컴퓨터에 있는 저장소를 Clone할 때 Git 디렉토리가 만들어짐)

 

Woking Directory : 작업을 하는 공간

 

Staging Area : 임시로 저장하는 공간

 

Git 파일의 3가지 상태

Git의 파일은 Modified, Staged, Commited 이렇게 3가지 상태로 관리된다.

 

Modified : 수정한 파일을 아직 로컬 데이터 베이스에 커밋하지 않은 상태

 

Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

 

Committed : 데이터가 로컬 데이터베이스에 완전하게 저장된 상태

 

 

 

다음 포스팅에는, git 명령어를 사용해서 git 프로젝트의 단계와 git 파일의 상태에대해서 다루겠습니다!

 

 

728x90