본문 바로가기
IT

Git 이란

by ¢Å‰¤㏄ 2021. 11. 12.

개발을 하면서 소스코드 관리를 위한 형상관리 Tool

프로젝트를 진행하면서 빈번하게 발생하는 최신판의 소스코드를 관리 하기 위해 등장한 도구

리눅스 커널 프로젝트를 위한 버전 관리 시스템으로 개발하였으며, SVN, P4(Perforce)와 같은 형상관리도구

 

■ Git 특징

① 소스코드 주고받기가 필요없음

② 같은 파일을 여러명이 동시에 작업할수 있어 동시 작업이 가능해짐

③ 버전관리가 용이해져 생산성 증가

④ 클라이언트-서버 모델

  - 하나의 중앙 서버가 존재, 클라이언트들은 맡은 파트만 가져와 작업하고 다시 중앙으로 통합

⑤ 분산모델

  - 하나의 중앙 서버가 존재하지만 각자의 컴퓨터 저장소에 중앙서버 전체의 사본을 가지고 작업

⑥ 인터넷이 연결되지 않은 곳에서도 개발을 진행할수 있음

 

 

■ Git 작업

■ Git 용어

① 저장소 (Repository)

소스코드가 저장되어 있는 여러 개의 브랜치(branch)들이 모여 있는 디스크상의 물리적 공간

로컬 저장소 (Local Repository), 원격 저장소 (Remote Repository)

작업을 시작할 때 원격 저장소에서 로컬 저장소로 소스코드를 복사해서 가져오고(Clone), 이후 소스코드를 변경한 다음 커밋(Commit)을 합니다. 커밋한 소스는 로컬 저장소에 저장되며, 푸시를 하기 전에는 원격 저장소에 반영되지 않음

 

② 체크아웃 (Checkout)

특정 시점이나 브랜치의 소스코드로 이동하는 것을 의미합니다. 체크아웃 대상은 브랜치, 커밋, 그리고 태그입니다. 체크아웃을 통해 과거 여러 시점의 소스코드로 이동할 수 있습니다

 

③ 스테이지 (Stage)

작업한 내용이 올라가는 임시 저장 영역입니다. 이 영역을 이용하여 작업한 내용 중 커밋에 반영할 파일만 선별하여 커밋을 수행할 수 있습니다.

 

④ 태그 (Tag)

커밋의 임의 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표를 태그라 합니다. 태그가 붙여진 커밋은 Commit ID 대신 태그명을 입력하여 쉽게 체크아웃 할 수 있습니다.

 

⑤ 푸시 (Push)

로컬 저장소의 내용 중 원격 저장소에 반영되지 않은 커밋을 원격 저장소로 보내는 과정입니다.

 

⑥ 풀 (Pull)

푸시와 반대로 원격 저장소에 있는 내용 중 로컬 저장소에 반영되지 않은 내용을 가져와서 로컬 저장소에 저장하는 과정을 의미합니다.

 

⑦ 브랜치 (Branch)

커밋을 단위로 구분된 소스코드 타임라인에서 분기해서 새로운 커밋을 쌓을 수 있는 가지를 만드는 것

 

⑧ 병합 (Merge)

브랜치와 반대되는 개념으로, 하나의 브랜치를 다른 브랜치와 합치는 과정을 의미합니다.

'IT' 카테고리의 다른 글

Spring boot란?  (0) 2021.11.18
Git 사용법  (0) 2021.11.12
Apache Spark란?  (0) 2021.11.08
Cookie vs Local Storage vs Session Storage  (0) 2021.11.05
ELK stack이란?  (0) 2021.11.05

댓글