Git (2)_ Git 기본용어

Jio.B·2023년 7월 29일
0

(ZB) DS 16기_part06_Git

목록 보기
2/9

Repository

  • 소스코드가 저장되어 있는 여러 개의 Branch가 모여있는 디스크상의 물리적 공간
  • Local Repository 와 Remote Repository로 구분

Local repository

Checkout

  • 특정 시점이나 Branch의 소스코드로 이동하는 것을 의미
    : 버전관리는 여러 Branch로 나누어서 관리 가능하며
    버전관리 시스템은 Commit을 통해 버전을 계속해서 부여하고 있으며
    Tag를 이용하여 특정 버전에 태깅하여 이용할 수 있음

  • Checkout 대상 : Branch, Commmit(), Tag

  • Checkout을 통해 과거 여러 시점의 코드로 이동이 가능

Stage

  • 작업할 내용이 올라가는 임시저장 영역
  • 이 영역을 이용하여 작업한 내용중 commit에 반영할 파일만 선별하여 commit을 수행할 수 있음

Commit

  • 작업할 내용을 Local Repository에 저장하는 과정
  • 각각의 commit은 의미있는 변경단위이고, 변경에 대한 설명을 commit log로 남김
  • 권장사항 : Commit을 아끼지 말 것(게임의 save polint)
  • (참고) commit 단위나 commit log format을 정해놓은 회사나 팀도 있음(빌드서버를 사용하는 경우에 해당)

Tag

  • 임의의 commit의 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
  • Tag가 붙은 commit은 commit id (version) 다신 tag name으로 쉽게 chechout 가능

Push

  • Local Repository의 내용 중, Remote Repository에 반영되지 않은 commit을 Remote Repository로 보내는 과정
  • 권장사항 : Push하는 순간 협업 중인 다른 개발자에게도 영향이 미침. 검증되지 않은 코드는 Push 하지않도록 함.

Pull

  • Remote Repository에 있는 내용 중, Local Repository에 반영되지 않은 내용을 가져와서 Local Repository에 저장하는 과정
  • 다른 팀원이 변경하고 Push한 내용을 Local Repository에 가져올 수 있음
  • (참고) Push과정에서 Conflict이 일어나서 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는 주종관계가 성립 (예: dev branch를 main branch에 merge)
  • Merge 되는 과정에서 Conflict이 발생하는 경우,
    Diff를 수정하여 Conflict를 해결한 뒤 Merge를 진행할 수 있음

0개의 댓글

관련 채용 정보