본문 바로가기
[개발] 프로그래밍/Git

[Git] Git 기본 용어 및 플로우의 이해

by 안산학생 2021. 6. 6.

Git의 기본 용어와 동작 과정에 대해 알아보겠습니다.

 


 

우선 Git을 이해하기 위해서는 몇 가지 알아야 할 용어가 있습니다.

  • 원격 저장소 (Remote Repository)
  • 로컬 저장소 (Local Repository)
  • 클론 (Clone)
  • 작업 디렉토리 (Working Directory)
  • 스테이징 영역 (Staging Area)
  • 커밋 (Commit)

 

 

그러면 각각의 용어에 대해서 알아보겠습니다.

 

 

 

Git은 원격 서버에 위치한 저장소를 의미하는 원격 저장소와 각각의 개발자가 작업하는 개인 PC 저장소인 로컬 저장소가 있습니다.

 

 

 

만약 새로운 개발자가 프로젝트에 합류하게 된다면 어떻게 해야 할까요?

 

 

원격 저장소의 소스코드를 로컬 저장소로 복사하는 과정을 가져야 합니다. 이 과정을 클론(Clone)이라고 합니다. 이렇게 Git을 통해 로컬 저장소로 클론을 하게 되면 그 이후부터 로컬 저장소에서 변경되는 모든 과정들이 Git에 의해 추적되고 관리됩니다.

 

 

그럼 조금 세부적으로 들어가 볼까요? 원격 저장소와 달리 로컬 저장소는 여러 단계로 구성되어있습니다.

 

 

로컬저장소는 작업 디렉터리, 스테이징 영역, 로컬 저장소로 나눠져 있습니다.

 

 

 

작업 디렉터리는 PC에서 현재 작업 중에 있는 디렉터리입니다. Git에서 관리하지만 추적은 하지 않습니다. 예를 들어 열심히 소스코드를 작성하고 단순히 [Ctrl + S]로 저장을 해도 Git에는 영향이 없다는 것입니다.

 

 

 

스테이징 영역은 작업한 내용이 올라가는 임시 저장 영역입니다. 작업 디렉터리에서 작업한 내용을 [git add] 명령어를 통해 스테이징 영역으로 옮기게 됩니다. 스테이징 영역으로 넘어온 작업 파일들은 git에 의해 변경점이 추적되고 관리됩니다. 예를 들어 A.class 파일을 수정하여 [git add]를 통해 A.class파일을 스테이징 영역에 올렸습니다. 그런데 이 파일이 원격 저장소와 내용과 다르다면, 내용이 다르다는 것을 표기해주는 것입니다. 개발자는 이 영역에서 자신이 수정한 것들을 다시 한 번 확인하고 원격저장소와 비교할 수 있습니다. 이 말은 즉슨 '커밋'을 준비하는 단계이기도 합니다.

 

 

로컬 저장소는 커밋들이 영구적으로 저장되는 영역입니다. 또한 원격 저장소로부터 Clone 한 커밋들이 존재하는 영역이기도 합니다. [git commit]을 할 때 마다, 하나의 commit이 로컬 저장소에 쌓이는 것입니다.

 

 

커밋(Commit)을 할 때는 커밋 메시지를 작성하게 됩니다. 커밋 메시지는 협업 개발자들 간의 협의된 양식을 따르게 됩니다. 기본적으로 [커밋 고유 ID, 커밋을 한 사용자, 커밋을 한 날짜, 변경 내용]을 작성합니다.

 

 


 

 

그러면 Git의 기본 플로우를 정리해보겠습니다.

 

 

  • 원격 저장소의 소스코드를 다운로드한다 (Clone)
  • 작업 디렉터리에서 작업한 이후 스테이징 영역으로 추가한다 (add)
  • 의미 있는 변경점이 쌓이면 확인 후 로컬 저장소에 저장한다 (commit)
  • commit들을 원격 저장소로 옮기기 전에 원격저장소의 변경이 있었는지 확인하고, 변경점이 있다면 내용을 가져온다 (git pull)
  • 충돌하는 부분이 있다면 팀원들과 협의하여 해결하고, 충돌하는 부분이 없다면 원격저장소로 commit들을 올린다 (git push)

 

 

 

'[개발] 프로그래밍 > Git' 카테고리의 다른 글

[Git] user 변경하기  (0) 2021.12.29
[Git] GitLab SSH Key 등록  (0) 2021.09.10
[Git] 형상관리? Git?  (2) 2021.06.05

댓글