GitHub에서 오리진과 업스트림의 차이점은 무엇입니까?


답변:


804

이것은 GitHub 포크 (GitHub에서 로컬로 포크를 복제하기 전에 GitHub 리 포크를 포크하는 경우) 와 관련하여 이해해야합니다 .

  • upstream일반적으로는 포크 것을 원래의 repo를 의미한다
    (또한 "를 참조 의 정의" downstream"과"을 upstream" 더에 대한" upstream용어)
  • origin GitHub의 자신의 저장소, GitHub의 원래 저장소 복제

GitHub 페이지에서 :

리포지토리가 복제되면 origin원래 리포지토리가 아닌 GitHub의 포크를 가리키는 기본 리모컨 이 있습니다.
원래 리포지토리를 추적하려면 다른 리모콘을 추가해야합니다.upstream

git remote add upstream git://github.com/<aUser>/<aRepo.git>

( aUser/aRepo포크 한 원래 작성자 및 저장소에 대한 참조 포함)

로컬 사본을 제공하려는 프로젝트와 동기화하기 위해 원본 리포지토리에서 가져 오는 데 사용 upstream합니다 .

git fetch upstream

( git fetch단독 origin으로 기본적으로 가져 오기 때문에 여기에서는 필요하지 않습니다)

당신은 사용 origin풀과 푸시 자신의 저장소에 기여할 수 있기 때문이다.

git pull
git push

(매개 변수없이 'origin'이 기본적으로 사용됨)

풀 요청 을하여 upstream리포지토리에 다시 기여 합니다.

포크와 업스트림


11
또한 upstream일반적으로 무엇인지 아는 데 도움이됩니다 . stackoverflow.com/questions/2739376/…
VonC

2
@MaxRydahlAndersen은 사실이지만 래퍼없이 Git을 사용하는 것을 좋아하므로 지금은 그 규칙 (업스트림 대 오리진)을 유지합니다.
VonC

22
지금까지 내가 본 포크 작동 방식에 대한 최고의 설명. 당신은 내 공감대를 얻습니다.
CodeChimp

9
시각적 인 작업이 훌륭합니다. 매우 직설적이고 이해하기 쉬운 답변. 이것은 내가 찾던 것입니다.
tayopi

1
git remote -v가 origin과 upstream에 대해 동일한 URL을 표시하면 @iamrudra입니다. 그렇다면 동일한 원격 저장소로 푸시하고 있습니다.
VonC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.