1. Git global configuration
git을 설치한 이후에 가장 먼저 해야하는 것은 깃에 사용자의 이름과 이메일을 설정하는 것이다.
git config 명령어를 통해 사용자 정보를 등록한다
git config --global user.name username
git config --global user.email useremail
2. editor
편집기를 사용하여 깃에서 사용할 텍스트 편집기를 고른다
git config --global core.editor editor
- editor 종류에는 (Vim, Sublime, Atom, VSCode) 등이 있다
주로 git bash 로 간단하게 사용할 수 있는 vim을 설정한다
3. 사용자의 git 환경 설정 확인
git config --list
4. git 기본 용어
-
Repository
- 소스코드가 저장되어 있는 여러개의 branch가 모여있는 디스크상의 물리적 공간
- 프로젝트 단위의 여러 소스 코드들이 모여있는 공간/저장소
- local repository와 remote repository로 구분
-
checkout
- 특정 시점이나 branch의 소스 코드로 이동하는 것을 의미
- checkout 대상 = branch, commit, tag
- checkout을 통해 과거 여러 시점의 코드로 이동 가능
-
stage
- 작업할 내용이 올라가는 임시저장 영역
- 이 영역을 이용하여 작업한 내용중 commit 에 반영할 파일만 선별하여 commit을 수행할 수 있음
-
commit
- 작업 할 내용을 local repository에 저장하는 과정
- 각 commit은 의미있는 변경 단위이며, 변경에 대한 설명을 commit log로 남김
- 권장= commit을 아끼지 말것(게임의 save point와 같음)
-
tag
- 임의의 commit 위치에 쉽게 찾아 갈 수 있도록 붙여 놓은 이정표
- tag가 붙인 commit은 commit id 대신 tag name으로 쉽게 checkout 가능
-
push
- loacl 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 에 반영하여 conflict를 해결 한 뒤 다시 push를 시도해야함
-
branch
- 특정 시점(commit)에서 분기하여 새로운 commit을 쌓을 수 있는 가지를 만드는 것
- 개발이 주축이 되는 branch를 main /master branch라고 한다
- 모든 branch는 최종적으로 다시 main branch에 병합(merge) 되는 형식으로 진행 된다
즉, 실험적인 시도를 해보고 싶을때 main branch를 내어 다른 버전을 만들어 주축이 되는 branch에는 영향이 없도록 한다. 이후에 병합도 가능하다
-
merge
- branch의 반대 개념으로 하나의 branch를 다른 branch와 합치는 과정
- merge되는 두 branch는 주종관계가 성립 ex) dev branch(종)를 main branch(주)에 merge
- merge 과정에서 conflict가 발생하는 경우 diff를 수정하여 confilct 를 해결한 뒤 merge를 진행할 수 있다