SCM/Git
22. Git 리모트 저장소에서 다운로드 - git fetch, git pull
삽질의 달인
2020. 1. 28. 10:24
리모트 저장소의 데이터를 받는 방식은 아래의 두 가지 방식이 있다.
리모트 저장소와 연결 후 데이터 다운로드
원격 저장소에 있는 데이터를 로컬로 받아 올 때는 아래 명령을 사용한다.
master branch 를 얻어올 때는 뒤에 [branch] 는 없어도 되고
[alias] 항목은 git remote add 할때 설정한 원격 저장소의 이름이다.
$ git fetch [alias] [branch]
git fetch 명령은 리모트 저장소의 데이터를 모두 로컬로 가져오지만
현재 HEAD 가 가리키고 있는 branch 에 자동으로 Merge 하지 않는다.
즉 아래와 같이 명령을 줘 보면 현재 로컬 레포지토리 브랜치인 master 브랜치에는
아무런 내용이 없고 원격 레포지토리가 새로운 브랜치처럼 추가되어 있다.
리모트 저장소와 연결 후 데이터 다운로드 후 자동 병합
git pull 명령으로 리모트 저장소 브랜치에서 데이터를 가져올 뿐 아니라
fetch + merge
자동으로 로컬 브랜치와 Merge 시킬 수 있다.
$ git pull [alias] [branch]
아래와 같이 리모트 레포지토리의 Origin 의 Master 브랜치를 현재 HEAD 에 다운받고 Merge 하였다.
앞서와 달리 README.md 파일이 보인다.
리모트 저장소에서 데이터 다운로드
앞서 두 명령의 경우 리모트 저장소와 git remote add 로 연결한 다음 사용할 수 있고
실제로 리모트 저장소와 통신한다.
하지만 대부분의 경우는 그냥 만들어놓은 데이터를 다운로드 받고 싶을 수 있다.
이럴 때 사용하는 명령이git clone 명령이다.
$ git clone [url]