Study Programming/Git

Git 기초개념 (Git 상태, Git 동작, Git 동작위치)

네모메모 2021. 7. 1. 01:36
반응형

 

 

 


 Git 의 3가지 상태 (= Git이 관리하는 파일들의 3가지 상태)

  (★★ 반드시 짚고 넘어가야 할 부분)

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

 


 Git의 동작

(이해하기 쉬운 'git-scm.com'의) Git동작 이미지 : https://git-scm.com/book/en/v2/images/areas.png

 

 1. '워킹 트리(Working tree)'에서 파일을 수정(modify)한다.
 2. 'Staging Area'에 파일을 Stage해서 커밋할 스냅샷을 만든다. (모든 파일을 추가할 수도 있고 선택하여 추가할 수도 있다.)
 3. 'Staging Area'에 있는 파일들을 커밋(Commit)해서 'Git 디렉토리(Repository)'에 영구적인 스냅샷으로 저장한다.

 

 

이해가지 않는 용어가 많다 (당연하다 ㅎㅎ)

하나씩 정리해보자!!

일단 굵은 밑줄 표시는 모두 Git이 동작하는 공간(=장소)들이다! (cf) 밑줄없는 굵은 글씨는 장소에서 하는 행위)

 


 Git의 동작 위치 (= Git 동작이 이루어지는 공간)

1. 워킹 트리(Working tree) : 프로젝트의 특정 버전을 받아(Checkout) 온 저장소

    Ex) 원격 프로젝트의 저장소 최신 버전을 모두 다운받은 내 로컬 저장소는 '워킹 트리'이다.
    >> Checkout하고 수정했지만, 아직 Staging Area에 추가하지 않았으면 'Modified 상태'

2. Git 디렉토리(Git Repository) : 지금 작업하는 디스크에 있고 그 디렉토리 안에 압축된 데이터베이스에서 파일을 가져와서 '워킹 트리(Working tree)'를 만든다.   

    Ex) 위의 Ex 에서 내가 Checkout한 원격 프로젝트의 저장소가 'Git 디렉토리'이다. 
    >> Git 디렉토리에 있는 파일들은 'Committed 상태'


3. Staging Area(=Index) : Git 디렉토리에 있으며 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장한다.

    Ex) '워킹 트리'에서 수정 후 'Staging Area'에 추가한 파일들이 존재하는 곳
    >> 파일을 수정하고 Staging Area에 추가했다면 'Staged 상태'
    >> Git에서는 기술용어로는 'Index' 라고 한다.  

 

 

 

 

 

 

 

 

END!


스터디 도움 참조 블로그 (References)

- 버전 관리(VC) 위키백과
https://ko.wikipedia.org/wiki/%EB%B2%84%EC%A0%84_%EA%B4%80%EB%A6%AC

- 누구나 쉽게 이해할 수 있는 Git 입문
https://backlog.com/git-tutorial/kr/

- git--distributed-even-if-your-workflow-isnt (Pro Git Book)
https://git-scm.com/book/en/v2

- Where is the 'man' Program for Windows (Program to open UNIX man pages)?
https://stackoverflow.com/questions/944434/where-is-the-man-program-for-windows-program-to-open-unix-man-pages

 

반응형