TIL | Git 과 GitHub

Jinsung·2021년 8월 12일
2
post-thumbnail

🔎 1. Git이란

  • local(로컬)에서 관리되는 버전 관리 시스템(VCS: Version Control System)
  • 소스코드 수정에 따른 버전을 관리해주는 시스템

🔎 2. GitHub이란

  • 클라우드 방식으로 관리되는 버전 관리 시스템(VCS)
  • local(로컬)에서 관리된 버전을 remote(원격)에도 관리하는 개념

실생활 예시- 휴대폰 갤러리(Git)의 동영상을 유튜브(GitHub)에 upload한다.


📖 3. Git 용어 정리

  • branch - git의 핵심으로서 버전 관리를 위한 갈래들을 말합니다. 기본적으로 main/master 브런치가 하나 생성이 됩니다, main/master 브런치에서 새 브런치들을 생성 -> 코드관리 -> 병합을 통하여 버전을 관리합니다.
  • clone - 로컬/원격 repository를 복사합니다.
  • commit - 로컬저장소에 변경된 사항들을 저장하는 것을 말합니다.
  • push - 로컬의 수정 내용을 repository에 저장하는 것을 말합니다.
  • fetch - remote(원격) 저장소의 브랜치의 master 나 다른 branch 에서 작업한 내용이 내 로컬 repository 와 버전이 맞지 않을때 최신버전으로 업데이트 합니다.
  • pull - 원격저장소의 변경 내용을 로컬 저장소에 반영합니다 (fetch+merge)
  • checkout - 현재 작업중인 워킹 트리의 일부 혹은 전체를 업데이트 하는 것을 말합니다.
  • merge - 브랜치의 변경 사항을 master에 반영 혹은 다른 두가지를 merge(병합)하는 것을 말합니다.
  • haed(소문자) - 브랜치 제일 앞에 있는 커밋을 가르키는 래퍼런스 입니다.
  • head(대문자) - 현재 체크아웃된 브랜치의 헤드(소문자 head)를 가르킵니다.
  • index - 변경 내역이 포함된 파일들의 모음입니다.
  • rebase - 현재 브랜치를 처음 생성할 때 어느 특정 커밋(base)에서 시작된 것입니다. rebase는 이 베이스를 다시 다른 브랜치의 head로 이동하는 것입니다.

📑4. Git 명령어 모음

개인적으로 자주 사용하는 명령어들을 정리하였습니다.

  • git --version - git verson을 확인합니다.
  • git init - 현재 프로젝트에서 변경사항 추적(버전 관리)을 시작한다는 명령어 입니다.
  • git config --global core.autocrlf input - 개행문자(Newline) 설정합니다. window일 경우 input -> true로 변경해주세요.
  • git config --global user.name 'user-name' - 사용자 정보 이름을 등록합니다.
  • git config --global user.name 'user-email' - 사용자 정보 이메일을 등록합니다.
  • git config --global --list - 구성을 확인합니다.
  • git status - git 상태를 조회합니다.
  • git add . - 모든 파일의 변경사항을 추적하도록 지정합니다.
  • git commit -m '원하는 메세지' - 메시지와 함께 변경사항에 대하여 새로운 버전을 생성합니다.
  • git log - git log들을 출력합니다.
  • git remote add origin 주소 - origin이란 별칭으로 원격 저장소를 연결합니다.
  • git push origin master - master branch에 push합니다.
  • git branch - branch 목록을 조회합니다.
  • git branch 이름 - 이름 branch를 생성합니다.
  • git branch -a - 원격저장소 branch 목록도 같이 조회합니다.
  • git switch 이름 - 이름이란 branch로 변경(이동)합니다.
  • git checkout 이름 - 이름이란 branch로 변경(이동)합니다.
  • git branch -r - origin branch들을 조회합니다.
  • git checkout -t origin/이름 - 원하는 브런치(이름)을 가져옵니다.
  • git branch -d 이름 - 로컬 브런치(이름)를 삭제 합니다.
  • git push origin --delete 이름 - 원격 브런치(이름)을 삭제합니다.
  • git branch -b 이름 - 브런치 생서과 동시에 생성한 브런치로 이동합니다.
  • git reset --hard HEAD~1 - HEAD에서 뒤로 1버전 롤백합니다. // 1이외에 2, 3도가능
  • git reset --hard ORIG_HEAD -되돌린건(롤백)을 원상복기 합니다.
  • git merge 브랜치명 - 브랜치를 merge 합니다.
  • git remote update - remote를 갱신 합니다.

    Tip. branch 생성, 삭제 등의 명령어는 master브런치에서 실행해야 합니다.

🙏마치며

기존에 소스트리라는 툴을 이용한 버전관리만 하다 최근 터미널 방식으로 변경하여 지속적으로 버전관리를 행하고 있습니다. 툴로 하는 버전관리보다 확실히 터미널 명령어를 사용한 버전관리가 명시적으로 관리한다는 느낌이 듭니다.

0개의 댓글