Computer Science/common

[GIT] git 개념 및 구성

짠백이 2020. 1. 27. 23:46
반응형

프로그램은 혼자서 독립적으로 개발하기도하지만 다수의 개발자가 팀을 이루어 개발하는경우가 많습니다.

그럴경우 프로그램의 이력관리와 여러 다수의 개발자들간에 협업을 위해 사용하는 GIT의 개념과 구조에 대해 알아보겠습니다.

 

 

1. git 개념

1.1 정의 : 분산 버전 관리 시스템 

1.2 기능 : 프로젝트의 이력 관리

 

2. 용어

2.1 Repository (저장소)

 - project 를 저장하는 directory

 - 종류

   = remote Repository (원격 저장소) : 팀원간의 공유를 위해 사용하는 원격 서버에 저장된 저장소 

   = local Repository (개인 저장소) : 개인 PC에서 관리하는 개인 PC의 저장소 

 

2.2 commit (확정한다는 의미)

 - 프로젝트의 변경이력을 local Repository에 저장

 

2.3 index (색인)

 - local Repository에 commit 하기위한 파일을 등록하기위한 표시

* stage : 인덱스를 지정하는 행위 

 

2.4 branch (나뭇가지, 갈라지는 의미) 

 - 특정 커밋으로부터 분기된 이력들

 - 브랜치 종류 : master, developer, feature, release, hotfix

 

2.5 checkout (떠난다는 의미)

 - 현재 위치한 commit에서 다른 commit으로 이동하는 것 

 - 현재 위치한 branch에서 다른 branch으로 이동하는 것 

 

2.6 Merge (합치다)

 - 나누어진 branch를 하나의 branch로 합치는 것 

 * 메인 branch로 전환 후 수정된 branch 를 merge해야함 

 

2.7 clone (복제)

 - remote Repository 에 특정 프로젝트를 local Repository로 다운받는 것 

 

2.8 push (특정 상태가 되도록 '밀다')

 - local Repository 에 저장된 변경 이력들 (=commit)을 remote Repository 에 반영하는것

 

2.9 pull (특정 방향으로 '당기다')

 - remote Repository에 반영된 사항들을  local Repository에 적용하는 것

 

3. git 구성도

git 구성도

 

최대한 정확한 정보를 공유하고자 신중하게 포스팅을 하고 있지만, 보완이필요한 부분이 있을 수도 있습니다.

만약 보완이 필요하다고 판단되는 부분이 있다면 댓글로 조언해주세요. 참고하여 수정해놓겠습니다.

 

* 해당 포스팅이 도움이되셨다면 공감과 댓글 부탁드릴께요 ㅎㅎ

반응형

'Computer Science > common' 카테고리의 다른 글

[Thread] 동기화 이슈 처리방법 (java)  (0) 2020.04.23
ElasticSearch 개념 및 구조  (0) 2020.04.21
[Thread] muti Process VS muti Thread  (0) 2020.04.18
[Thread] 기초  (0) 2020.04.18
data type(자료형)의 개념  (0) 2018.11.25