기타/🚘 Git

Upstream과 Downstream/Origin과 Upstream

둥굴둥굴둥굴레차 2021. 9. 13. 23:25

Upstream과 Downstream

 

두 개의 레포지터리의 관계에 따라 정의되는, 즉 상대적인 개념이다.



Upstream은 하천의 윗부분(상류)을 뜻하며 물줄기의 원천이 되는 소스를 뜻한다.

나는 A라는 레포지터리를 가지고 있고 다른 레포지터리 B의 내용을 pull받았다고 하자.
그럼 나의 레포지터리 A가 downstream, 레포지터리 B가 upstream이 된다.

 



또, 내가 다른 레포지터리를 fork하게 되면 fork받아 생성한 내 레포지터리가 downstream, 다른 레포지터리가 upstream이 된다.

따라서 한 개의 upstream에 여러 downtream이 존재할 수 있다.

이와 같은 이유로 원격 저장소를 fork받았을 땐 보통 로컬 저장소(주소)의 이름origin과 대비되도록 upstream이란 이름으로 원격저장소(주소)의 이름을 짓는다.

예)

$ git remote add upstream https://github.com/user.git

 

Origin과 Upstream

original repository를 로컬 저장소 이름의 origin과 혼동하는 분들이 많다. 하지만 original repo는 리모트 저장소의 레포지터리를 이야기하는 것이다!!