[git] git 기초 개념, 분산 버전 관리 시스템과 work flow

지수토리·2022년 1월 14일
2

Git

목록 보기
1/3

⛑ git 기초 개념

git 이란?

소스코드를 효과적으로 관리할 수 있게 해주는 분산 버전 관리 시스템인 무료, 공개 소프트웨어.

github 란?

소스코드 관리 서비스

🌎 분산 버전 관리 시스템

버전 관리 시스템

  • 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템
  • 3가지 ➡️ 로컬 버전 관리, 중앙집중식 버전 관리(CVCS) , 분산 버전 관리.

분산 버전 관리 시스템
✔️ 저장소를 히스토리와 더불어 전부 복제하여, 완전한 기록이 있는 자체 로컬 데이터베이스를 소유
✔️ 서버에 문제가 생기면 이 복제물로 다시 작업하여 서버에 전송할 수 있다는 말.
✔️ 각 파일에서 무엇이 변경되었는지, 언제 변경되었으며 누가 변경했는지, 변경한 이유도에 대해서도 알 수 있다.
👍 출처: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

git의 3️⃣가지 상태 & 단계, work flow

Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리한다.

<세 가지 상태>

⭐️ Committed
" 로컬 저장소 " 에 데이터 저장/갱신한 상태

⭐️ Modified
수정한 파일을 아직 " 로컬 저장소 " 에는 커밋하지 않은 상태

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

<세 가지 단계>

👍 출처: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

⭐️ working 디렉토리 (워킹 트리)
프로젝트의 특정 버전을 Checkout 한 곳
깃 디렉토리 안에 압축된 데이터베이스에서 파일을 가져와서 워킹 트리를 만든다.
Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified인 상태이다.

⭐️ Staging Area
곧 커밋할 파일에 대한 정보를 저장하는 곳
파일을 수정하고 Staging Area에 추가했다면 Staged인 상태이다.

⭐️ Git 디렉토리
프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳
다른 컴퓨터에 있는 저장소를 Clone 할 때 Git 디렉토리가 만들어진다.
Git 디렉토리에 있는 파일들은 Committed 상태이다.

work-flow

  1. 워킹 디렉토리에서 파일을 수정한다.

  2. 수정한 파일을 Staging Area에 stage 해서, 커밋할 스냅샷을 만든다.

  3. Staging Area에 있는 파일들을 커밋해서, Git 디렉토리에 영구적인 스냅샷으로 저장한다.

0개의 댓글