Git Basic
by SoonYong Hong
Git이란?
Git은 분산형 버전 관리 시스템이다.
버전 관리 시스템은 파일의 변화를 버전별로 기록하고 유지하여 준다.
Git은 분산형이기 때문에 같은 파일을 서로 다른 로컬 저장소에서 관리하고 편집할 수 있다.
Git의 구현 형태
Git은 파일을 4가지 상태로 분류한다.
- untracked : 파일의 변화를 추적하지 않는 상태
- tracked : 파일의 변화를 추적하는 상태 — 3개의 세부 상태로 나뉜다.
- unmodified : 이전 버전과 변화가 없는 상태
- modified : 이전 버전과 변화가 있는 상태
- staged : 이전 버전과 변화가 있고 그 변화를 반영할 준비가 된 상태
Git은 commit 별로 기록하여 구분한다.
Git은 각각의 commit에 hash값을 달아 구분하고
각각의 commit마다 해당 파일을 저장한다.
단 이전 commit과 변화가 없는 파일의 경우, 이전 파일의 포인터만 저장한다.
Branch
브랜치를 이용하여 한명 이상의 사용자가 서로 다른 작업을 진행할 수 있습니다.
또한 브랜치를 병합하여 여러 작업내용을 하나로 합칠 수 있습니다.
Git 기본 명령어
git add [file]
[file]을 untracked, modified 상태에서 staged 상태로 변경한다.
git rm [file]
[file]을 삭제하고 staged상태로 변경한다.
-
git rm –cached [file]
[file]을 untracked상태로 변경한다.
git branch [name]
[name]이라는 이름의 새 브랜치를 생성한다.
-
git branch -f [branch] [commit]
[branch]를 [commit]으로 이동한다.
[commit]은 다른 브랜치나 커밋의 해시값이 될 수 있다.
git checkout [branch]
[branch]를 선택한다.
git commit
변경된 사항을 새로운 커밋으로 만들어 기록한다.
-
git commit -a
modified상태에 있는 모든 파일을 staged상태로 변경한 후 커밋한다.
-
git commit -m [msg]
commit message를 [msg]로 설정하고 커밋한다.
git push
로컬 저장소에 커밋된 내용을 원격저장소로 전송하여 저장한다.
git fetch
원격 저장소에 커밋된 내용을 로컬 저장소에 전송하여 저장한다.
git merge [branch1] [branch2]
[branch1]을 [branch2]에 병합한다.
Subscribe via RSS