깃을 공부하던 중 upstream 과 origin 리모트 브랜치에 혼란이 생겨 기록한다.
origin 브랜치는 우리가 git clone 을 하면 자동으로 origin/master 브랜치가 생기는 것에서 익숙한 이름이다.
origin
Git 서버의 리포지토리를 Clone 하면 Git은 자동으로 origin 이라는 이름을 붙인다.
origin 으로부터 저장소 데이터를 모두 내려받고 master 브랜치를 가리키는 포인터를 만든다.
이 포인터는 origin/master 이라는 이름이며, 수정이 불가능하다.
그리고 Git은 로컬의 master 브랜치가 origin/master 를 가리키게 한다. 이제 이 master 브랜치에서 작업을 시작할 수 있다.
upstream, downstream
upstream 이란 상대적인 개념이다.
위의 clone 한 경우, origin 브랜치가 remote 이며, upstream 브랜치이다. 그리고 local 이 downstream 이다.
origin 이 upstream!
반면, 개인의 리포지토리로 fork 해서 작업을 진행하는 경우,
upstream 은 원래의 리포지토리 remote 이다.
그래고 downstream 이 우리의 리포지토리로 fork 한 origin 브랜치이다.
origin 이 downstream!
https://pers0n4.io/github-remote-repository-and-upstream/
'Git' 카테고리의 다른 글
rebase, pull --rebase (0) | 2021.10.06 |
---|---|
squash 머지 한 브랜치에서 계속 작업할 경우 (0) | 2021.10.06 |
Rebase (0) | 2021.10.06 |
.gitignore (0) | 2020.12.11 |
Commit Convention (0) | 2020.11.30 |