fetch
$ git fetch [remote]
를 통해 리모트 상황 최신 업뎃
- 상황만 업데이트 하는 것이지 [유저 A의 로컬/master] <-> [origin/master] 가 동기화 되는 것 X
$ git fetch <remote_alias>
$ git fecth <remote_alias> <branch>
$ git fetch --all
e.g.,
$ git fetch origin
Otions | description |
---|
--all | Fetch all remotes |
- fetch하면, .git/FETCH_HEAD가 생성된다.
- FETCH_HEAD는 당연히 방금 fetch한 remote/branch
- fetch만으는 동기화가 안됨
$ git checkout FETCH_HEAD
로 방금 fetch한 커밋으로 체크아웃은 가능
$ git checkout FETCH_HEAD
- ffmpeg local repo를 origin remote와 update할 필요가 있다.
$ git fetch origin
- FETCH_HEAD checkout
$ git checkout FETCH_HEAD
origin/master
를 fetch했으니까 당연히 FETCH_HEAD
는 origin/master
- local의
master
브랜치는 저기 아래...
- local의 master를 어떻게 해야할까.. 동기화 참고
Local 동기화
1. pull
- pull: local의 수정 사항 + remote의 변경사항
$ git pull origin master
2. reset
$ git reset --hard [to Branch]
$ git reset --hard origin/master
- to Branch에 맞게 내껀 다날림
특정 커밋을 fetch하고 체크아웃
$ git fetch ssh://USER-ID@git_repository refs/specific/branch && git checkout FETCH_HEAD