버전을 관리하는 시스템.
이전 버전으로 돌아가거나, 어떻게 변화했는지 쉽게 알 수 있다.
'분산형 버전 관리 시스템'(Distributed Version Control)
변화가 생길 때마다 백업 복사본(스냅샷)이 생성되는데, 스냅샷을 만들어주는 작업을 commit이라고 한다.
Git은 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
Github은 Git Repository를 웹에서 관리할 수 있는 웹 서비스
Git 을 통해 버전을 관리하고자 하는 폴더 (repository - 저장소라는 뜻)
fork
한다)clone
한다)push
한다).pull request
한다)pull
할 수 있다.some remote repo <-> my remote repo <->
<-> local repo <- staging area <- workspace
** stage - "무대에 올리다"
git clone 주소
git init
하여 git 이 관리하는 local repo로 변환.git remote add origin 링크
하여 local을 remote와 연결협업할 때
git remote add mypair(원하는 이름) 링크
git pull mypair master
(받아오는 내용은 자동으로 merge 된다.)git remote -v
로 연결된 local repo 와 remote repo 확인.add 파일이름
를 통해 staging area 에 올려 git 이 변경사항을 track 하도록 만든다.restore 파일이름
를 통해 변경사항을 폐기한다.commit
reset
reset HEAD^
혹은 reset HEAD~1
으로 가장 최근의 commit 취소.push
git push origin master
(push 뒤에 오는 명령어는 상황에 따라 유동적)git log
: push된 commit 을 확인하고 싶을때--soft
: uncommit changes, change are left staged.--mixed
: uncommit + unstage changes, changes are left in working tree (default).--hard
: uncommit + unstage + delete changes, nothing left.git repository의 commit되지 않은 변경 사항을 취소할 수 있다.
reset HEAD <file>
: HEAD가 가리키는 브랜치의 포인터를 옮긴다.checkout --<file>
: HEAD 자체를 다른 branch 로 옮긴다.협업을 위한 git 개념을 이해할 수 있다.