repository
: 소스코드가 저장되어 있는 여러 개의 branch가 모여있는 디스크상의 물리적 공간
local repository와 remote repository로 구분
checkout
: 특정시점이나 branch의 소스코드로 이동하는 것 의미
checkout 대상 - branch, commit, tag
checkout을 통해 과거 여러 시점의 코드로 이동 가능
stage
: 작업할 내용이 올라가는 임시저장영역
이 영역을 이용하여 작업한 내용중 commit에 반영할 파일만 선별하여 commit을 수행할 수 있음
commit
: 작업할 내용을 local repository에 저장하는 과정
각각의 commit은 의미있는 변경단위, 변경에 대한 설명을 commit log로 남김
tag
: 임의의 commit 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
push
: local repository내용 중, remote repository에 반영되지 않은 commit을 remote repository로 보내는 과정
(검증되지 않은 코드는 push x)
pull
: remote repository에 있는 내용 중, local repository에 반영되지 않은 내용을 가져와서 local repository에 저장하는 과정
branch
: 특정 시점 (commit 단위)에서 분기해서 새로운 commit을 쌓을 수 있는 가지를 만드는 것
모든 branch는 최종적으로 다시 master branch(개발의 주축이 되는 branch)에 merge(병합)되는 형식으로 진행됨
merge
: branch와 반대 개념/ 하나의 branch를 다른 branch와 합치는 과정