프로그램은 혼자서 독립적으로 개발하기도하지만 다수의 개발자가 팀을 이루어 개발하는경우가 많습니다.
그럴경우 프로그램의 이력관리와 여러 다수의 개발자들간에 협업을 위해 사용하는 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 구성도
최대한 정확한 정보를 공유하고자 신중하게 포스팅을 하고 있지만, 보완이필요한 부분이 있을 수도 있습니다.
만약 보완이 필요하다고 판단되는 부분이 있다면 댓글로 조언해주세요. 참고하여 수정해놓겠습니다.
* 해당 포스팅이 도움이되셨다면 공감과 댓글 부탁드릴께요 ㅎㅎ
'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 |