local(로컬)
에서 관리되는 버전 관리 시스템(VCS: Version Control System)실생활 예시- 휴대폰 갤러리(Git)의 동영상을 유튜브(GitHub)에 upload한다.
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로 이동하는 것입니다.개인적으로 자주 사용하는 명령어들을 정리하였습니다.
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브런치에서 실행해야 합니다.