Git & Github

[Git & Github] Git의 구조 _ 4가지

kimphoby 2023. 2. 12. 18:19

GIt의 구조 _ git의 동작 흐름과 구성요소

Local & Remote

GIt 영역은 크게 Local 영역과 Remote 영역으로 이루어져 있다. 

Local 영역은 내 컴퓨터 안에서 발생하는 영역이고 Remote 영역은 내 컴퓨터 외부 서버 영역이라고 생각하면 된다. 

Git의 역할은 개인적으로 수정한 코드를  외부에 공유하여 협업 할 수 있게 만들어 주는 것.

혹은 공개된 소스코드를 내컴퓨터로 가져와 수정할 수 있게끔 해주는 것이다. 따라서 Local 영역에서 Remote 영역으로의 소스코드의 이동 혹은 그 반대가 핵심이라고 볼 수 있다 .

 

Working Directory _ Local
: 내 컴퓨터에서 작업이 일어나는 공간이다. 즉 현재 작업중인 프로젝트가 위치한 디렉토리이다. 
모든 작업의 시작점으로, 코드의 개인적인 수정이 발생한다. 

 

Staging Area _ Local 

: Local Directory로 넘어가기 이전,  Version이 저장되는 곳이다. 즉 Commit 할 파일의 예비저장소인 것이다. 

그렇다면 Version이란 무엇일까. 예를들어 게임을 생각해보자. 가끔 게임을 하다보면 버전을 업데이트하라고 뜰 때가 있다. 그럼 우리는 당연히 게임에 어떠한 변경사항이 발생했구나!라고 생각할 것이다. 즉 버전이란건 한번의 커밋으로 발생될 변경사항인 것이다. 그 변경사항이 저장되는 공간이 Staging Area이다. 

 

Local Repository_Local 

:  Working Directory로부터 커밋한 내용들이 Staging Area를 걸쳐 저장된다.  

커밋된 내용들이 저장되어 있기 때문에 언제든지 커밋했던 시점으로 돌아가는 것이 가능하다. 

특정 시점에 변경 사항을 반영해 놓았다면 언제든지 기존의 상태로 돌아가는 것이 가능해진다. 

 

Remote Repository_Remote 

ex) Github

: 협업을 위한 공간이다. 내 컴퓨터가 아닌 외부 서버 공간으로, Local 저장소로 부터 원격 저장소에서부터  소스를 넘겨받는다.