본문 바로가기
Git

Git 기본용어

by ram_ 2022. 12. 14.

Repository 

: 소스 코드가 저장되어 있는 여러 개의 Branch가 모여있는 디스크상의 물리적 공간

Local Repository와 Remote Repository로 구분

 

Checkout 

: 특정 시점이나 Branch의 소스코드로 이동하는 것을 의미

Check-out 대상 : Branch, Commit, Tag

Check-out을 통해 과거 여러 시점의 코드로 이동이 가능

 

Stage

: 작업할 내용이 올라가는 임시저장영역

: 이 영역을 이용하여 작업한 내용중 commit에 반영할 파일만 선별하여 commit을 수행할 수 있다.

 

Commit

: 작업할 내용을 Local Repository에 저장하는 과정

: 각각의 commit 은 의미있는 변경단위이고, 변경에 대한 설명을 cpmmit log로 남김

권장 - commit을 아끼지 마세요. (게임의 savepoint)

참고 - commit 단위나 commit log format을 정해놓은 회사나 팀도 있음(빌드서버 사용하는 경우)

 

Tag

: 임의의 commit 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표

: Tag가 붙은 commit은 commit id(version) 대신 tag name으로 쉽게 checkout 가능

 

Push

: Local Repository 의 내용 중, Remote Repository에 반영되지 않은 commit을 Remote Repository로 보내는 과정

권장 - Push하는 순간 다른 개발자들도 영향을 받음. 검증되지 않은 코드는 Push하지 않도록 함.

 

Pull

: Remote Repository에 있는 내용 중, Local Repository 에 반영되지 않은 내용을 가져와서 Local Repository 에 저장하는 과정

: 다른 팀원이 변경하고 Push한 내용을 Local Repository에 가져올 수 있음

참고 - Push하는 과정에서 Conflit이 일어나서 Push가 거절된 경우, Pull을 통해 Remote Repository 의 변경내용을 Local Repository 에 반영하여 충돌을 해결한 뒤 다시 Push 해야 함.

 

Branch

: 특정 시점(commit 단위)에서 분기하여 새로운 commit을 쌓을 수 있는 가지를 만드는 것

: 개발의 주축이 되는 branch를 master branch(혹은 main branch)라고 함

: 모든 branch는 최종적으로 다시 master branch에 merge 되는 형식으로 진행 됨

 

Merge

: branch의 반대개념으로 하나의 branch를 다른 branch와 합치는 과정

: merge 되는 두 branch는 주종관계가 성립. 

ex) dev branch를 main branch에 merge

: merge 되는 과정에서 conflict이 발생하는 경우 Diff를 수정하여 충돌을 해결한 뒤 merge 진행할 수 있음.

 

 


 

 

  • Git

SVN보다 빠른속도와 많은 기능을 지원한다

- 현재 많은 기업이 사용중이다

https://git-scm.com/

 

Git

 

git-scm.com

 

 

  • Github

- Git을 호스팅해주는 웹서비스이다.

- 협업을 위한 기능을 제공 한다 

참고  소스코드보안이 중요한 경우 사용을 기피한다.

 https://github.com

 

GitHub: Let’s build from here

GitHub is where over 94 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

 

  • Gitlab

설치형 버전관리 시스템 - 소스코드 보안이 중요한 기업에서 주로 사용한다
클라우드버전관리시스템 - 10명이하 무료이다.(Github와유사)
Issue tracker, Git Remote Repository, API, Team, Group 기능 제공한다.

https://gitlab.com

 

The One DevOps Platform

From planning to production, bring teams together in one application. Ship secure code more efficiently to deliver value faster.

about.gitlab.com

 

'Git' 카테고리의 다른 글

[Git] Log and Diff  (0) 2022.12.18
[Git] Remote Repository_ clone / branch / checkout / delete  (0) 2022.12.15
[Git] Remote Repository_ remote / add / push / pull  (0) 2022.12.14
[Git] Local Repository  (0) 2022.12.14