local을 최신 remote 상태로 변경하려는 것을 pull
이라고 한다.
원격 저장소의 변경된 commit 내용을 가져와 병합된다.
[명령어]
git pull
[간단한 케이스]
remote에서 변경이 일어난 경우다.
origin/master
는 원격 저장소를 뜻한다.
pull을 실행하면, 내용을 가져와서 병합을 자동으로 실행한다.
그러나 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않은 경우에는 fetch 명령어를 사용한다.
fetch를 실행하면, 원격 저장소의 최신 이력을 확인할 수 있다. 이 때 가져온 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 된다. 이 브랜치는 FETCH_HEAD
의 이름으로 체크아웃 할 수도 있다.
[명령어]
git fetch
예를들어, local과 remote에 B에서 진행된 커밋이 있는 상태에서 fetch를 수행하면 아래처럼 이력이 남는다.
이 상태에서 원격 저장소의 내용을 로컬 저장소의 'master'에 통합하고 싶은 경우에는, FETCH_HEAD
브랜치를 merge하거나 다시 pull을 실행하면 된다.
변경사항을 local에서 remote로 업로드하는 것을 push
라고 한다.
push를 실행하면, local과 remote가 동일한 상태가 된다.
[명령어]
git push
local 저장소를 remote에 그대로 복제해와서 설정하는 작업이다.
commit 이력도 함께 로컬로 복제된다.
clone은 원격 저장소 자체를 복제 해오는것이다. pull과 다른 명령어이다.
[명령어]
git clone <저장소 url>
작업 후 로컬 <-> 리모트 간 소스코드를 관리하는 내용이다.