Git 사용준비

dorongpark·2022년 11월 19일
0

Git

목록 보기
1/7

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를 진행할 수 있다
profile
야 너도 분석 할수 있어

0개의 댓글