본문 바로가기
개발일지/GIT

Git 기본 용어

by 개발에정착하고싶다 2022. 7. 6.
320x100

Git 기본 용어

 

#1 Repository

 

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

 

============================

 

#2 Checkout

 

  • 특정 시점이나 Branch 의 소스코드로 이동하는 것을 의미
  • Checkout 대상 - Branch, Commit, Tag
  • Checkout 을 통해 과거 여러 시점의 코드로 이동이 가능

 

 

============================

 

# 3 Stage

 

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

 

 

============================

 

# 4 Commit

# 버전을 매기는 행위

 

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

 

============================

 

# 5 Tag

 

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

 

============================

 

# 6 Push

# 가장 사용에 주의

 

  • Local Repository의 내용 중, Remote Repository에 반영되지 않은 commit을 Remote Repository로 보내는 과정
  • 권장 - Push 하는 순간 다른 개발자들도 영향을 받음. 검증되지 않은 코드는 Push 하지 않도록 함.

 

============================

 

# 7 Pull

 

  • Remote Repository 에 있는 내용 중, Local Repository에 반영 되지 않은 내용을 가져와서 Local Repository에 저장하는 과정
  • 다른 팀원이 변경하고 Push 한 내용을 Local Repository에 가져올 수 있음
  • 참고 - Push 과정에서 Conflict (충돌) 이 일어나서 Push 가 거절된 경우, Pull을 통해 Remote Repository의 변경 내용을 Local Repository에 반영하여 Conflict를 해결 한 뒤 다시 Push를 시도해야 함

 

============================

 

# 8 Branch

 

  • 특정시점 (commit 단위) 에서 분기하여 새로운 commit을 쌓을 수 있는 가지를 만드는 것
  • 개발의 주축이 되는 branch를 master branch (혹은 main branch)라고 함
  • 모든 branch는 최종적으로 다시 master branch에 merge(병합) 되는 형식으로 진행됨

 

============================

 

# 9 Merge

 

  • Branch의 반대개념으로 하나의 Branch 를 다른 Branch와 합치는 과정
  • Merge 되는 두 Branch는 주종관계가 성립. 예 - dev branch 를 main branch에 merge
  • merge 되는 과정에서 Conflict (충돌) 발생하는 경우 Diff 수정하여 Conflict 해결한 Merge 진행 있음
300x250