GIT 기본용어

JYJ·2022년 3월 7일
0

Git / Github

목록 보기
2/10

Repository

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

  • Local Repository와 Remote Repository로 구분

  • 작업을 시작할 때 Remote Repository에서 소스코드를 복사하여 가져오고(Clone), 이후 소스코드를 변경한 다음 commit을 한다.

  • 이때 commit을 한 소스는 Local Repository에 저장되고 Push를 하기 전에는 Remote Repository에 반영되지 않는다.


Checkout

  • 특정 시점이나 브랜치의 소스코드로 이동하는 것을 의미한다.

  • checkout의 대상은 branch, commit, tag 등이 있다.

  • checkout을 통해 과거 여러 시점의 코드로 이동이 가능하다.


Stage

  • 작업한 내용이 올라가는 임시저장영역 이다.

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


Commit

  • 작업한 내용을 Local Repository에 저장하는 과정

  • 각각의 commit은 의미있는 변경단위이고, 변경에 대한 설명을 commit log로 남긴다.

  • commit은 자주자주 해주는 것이 좋다.


Tag

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

  • tag가 붙여진 commit은 commit id 대신 tag name으로 쉽게 checkout이 가능하다.


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의 변경내용을 반영 한 뒤 다시 push를 시도해야 한다.


Branch

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

  • 개발의 주축이 되는 branch를 Master branch라고 한다.

  • 모든 branch는 최종적으로 다시 Master branch에서 Merge(병합)되는 형식으로 진행된다.


Fork

  • Remote Repository를 Local Repository에 복제한 뒤 새로운 Remote Repository로 push하는 과정을 fork라고 한다.

  • 권한은 없지만 작업에 기여하고 싶거나 카피하여 작업을 하고 싶을 때 fork를 사용 한다.

  • 작업내용을 원본 Repository에 반영하기 위해서는 pull request를 통한 승인과정이 필요하다.


Merge

  • branch의 반대개념으로, 하나의 branch를 다른 branch와 합치는 과정이다.

  • merge되는 두 branch는 주종관계가 성립한다. 예를들어 develop branch를 master branch에 merge

  • merge 과정에서 conflict가 발생할 경우 diff tool 혹은 merge tool을 사용하여 conflict를 해결한 뒤 merge를 진행한다.


profile
Study note

0개의 댓글