Git 사용 준비

JERRY·2025년 3월 11일

Git/GitHub

목록 보기
3/10
post-thumbnail

GitHub 가입

  1. GitHub 사이트 : http://github.com

  2. Git 에서 사용할 email 주소, Password, Username 입력 > Create Account

  3. 계정확인 : 시각확인 및 코드입력

  4. 로그인

  5. 가입 확인


Git Global Configuration

  1. Global Username & Email
  • 문법
git config --global user.name <username>
git config --global user.email <email>
  • 예제
% git config --global user.name zerobasegit
% git config --global user.email zerobase.git@gmail.com 
  1. CRLF
  • Windows : 가져올 때는 LF를 CRLF로 변경하고 보낼때는 CRLF를 LF로 변경
% git config --global core.autocrlf true
  • Mac/Unix : LF 만 사용
% git config --global core.autocrlf input
  • 참고 : Line ending
    • Windows : CR (\r) + LF (\n)
    • Unix or Mac : LF (\n)
    • Windows 사용자와 Mac 사용자가 같은 Git Repository 를 작업할 때
      코드에서 변경된 내용이 없어도 CRLF 차이로 인해 commit 이 발생할 수 있음
  1. Editor
  • 문법
git config --global core.editor <editor> 
  • 예제
% git config --global core.editor vim 
  1. 전체 설정 확인
  • 문법
git config --list 
  • 예제
% git config --list 
credential.helper=osxkeychain
user.name=zerobasegit
user.email=zerobase.git@gmail.com
core.editor=vim
core.auticrlf=true
  1. 항목별 설정 확인
  • 문법
git config <key>
  • 예제
% git config user.name
zerobasegit

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 format 을 정해놓은 회사나 팀도 있음 (빌드 서버를 사용하는 경우)
  5. Tag

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

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

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

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

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

0개의 댓글