본문 바로가기

형상 관리/Git

[Git] clone, pull, fetch, merge

* git clone = git init + git remote add origin {{url}} + git pull origin master
- git init: 현재 디렉토리 기준 git 로컬 저장소 생성 
- git remote add origin {{url}}: 원격저장소(url) 연결
- git pull origin master: 원격 저장소 데이터 내려받기 & 로컬 저장소의 변경 사항 자동 병합

cf 1) git pull = git fetch + git merge
- git fetch:원격 저장소의 커밋된 내용 가져오기
- git merge: 현재 디렉토리에 병합하기
=> 원격 저장소에는 없는 commit이 로컬 저장소에 있는 경우 git pull을 하게 되면 병합 과정에서 에러가 발생할 수 있다.


cf 2) git pull [remote] [branch] 
-> remote가 origin, 브랜치가 현재 브랜치라면 [remote] [branch] 생략 가능

 

<clone과 pull의 차이>
- git clone: 소스를 처음 내려받을 때 사용
- git pull: 이미 원격 저장소 설정은 되어있고 업데이트 사항을 내려받고자할 때 사용