Post

[Git] Git 개념 정리

깃(Git)은 버전 관리 시스템(Version Control System)의 한 종류로, 빠른 속도와 버전 전환이 장점인 프로그램입니다.

깃의 저장소는 로컬 저장소(Local Repository)와 원격 저장소(Remote Repository)가 있습니다. 로컬 저장소는 내 컴퓨터에서 실제 작업하는 폴더를 말하고, 원격 저장소는 구글 드라이브나 N드라이브와 비슷하게 깃허브와 연동된 클라우드 공간을 말합니다.

 

깃의 작업 공간

  • Working directory : 개인 코드를 작성하는 공간
  • Staging area : 작성한 코드를 임시로 올리는 공간
  • Repository : 최종 수정본을 올리는 공간

 

깃 용어 정리

  • commit : 스테이징 공간에서 로컬 저장소로 파일을 업로드하는 것을 말합니다.
  • push : 로컬 저장소에서 원격 저장소로 업로드하는 것을 말합니다.
  • pull : 원격 저장소에서 로컬 저장소로 다운로드 하는 것을 말합니다.
  • clone : 원격 저장소를 내 컴퓨터로 복제하는 것을 말합니다.
  • fork : 다른 사람의 원격 저장소를 내 원격 저장소로 복제하는 것을 말합니다.

 

깃의 워크플로우

Workflow

깃의 워크플로우를 간단하게 만들어 봤습니다. 깃의 사용 순서는 다음과 같습니다.

 

깃 사용 예시

간단한 사용 예시를 만들어봤습니다. 우선 원격 저장소에 있는 나는 강아지파.txt라는 파일을 Pull을 받았다고 가정해 봅시다. 별다른 충돌이 없다면, 로컬 저장소에도 똑같이 나는-강아지파.txt라는 파일이 생성됩니다.

사용 예시 1

이제 이 파일을 내 컴퓨터에서 나는-사실-고양이파.txt라고 수정을 해 봅시다.

사용 예시 2

깃이 로컬 저장소와 비교 후, 나는-강아지파.txt나는-사실-고양이파.txt라는 파일로 변경된 걸 자동으로 파악해서 Staging Area에 올립니다.

사용 예시 3

Staging Area에 올라간 나는-사실-고양이파.txt 파일을 로컬 저장소로 Commit 합니다.

사용 예시 4

로컬 저장소에 Commit 된 나는-사실-고양이파.txt 파일을 원격 저장소로 Push 하면, 원격 저장소에 배포되어 프로젝트에 참여 중인 다른 팀원들이 확인할 수 있는 상태가 됩니다.

사용 예시 5

 

끝으로

이 글은 파일을 받고, 수정하고, 업로드하는 깃의 기본적인 프로세스를 정리한 글입니다. 이외에도 깃을 사용해 협업을 하다 보면 여러 가지 돌발상황이 발생합니다. 심각한 오류가 발견돼서 부득이하게 버전을 롤백해야 되거나, 다자간 코드 충돌이 나는 등, 이런 변수가 발생할 때 하나하나 문제를 해결해 나가다 보면, 깃의 여러 가지 기능을 자연스럽게 습득할 수 있을 것입니다.

This post is licensed under CC BY 4.0 by the author.