IT Share you

'git remote add upstream'은 무엇을 도와 줍니까?

shareyou 2020. 12. 8. 20:25
반응형

'git remote add upstream'은 무엇을 도와 줍니까?


나는 https://wiki.diasporafoundation.org/Git_workflow#Rebase_your_development_branch_on_the_latest_upstream 에서 읽고있었습니다.

다음은 추출물입니다.

저장소가 최신 상태입니다.

개발 트렁크에서 최신 업데이트를 받으려면 다음을 입력하여 기본 GitHub 저장소를 원격으로 설정하는 일회성 설정을 수행하십시오.

$ git remote add upstream git://github.com/diaspora/diaspora.git

최신 업스트림에서 개발 브랜치 리베이스

개발 브랜치를 최신 상태로 유지하려면 업스트림 마스터의 현재 상태를 기반으로 변경 사항을 리베이스하십시오. git-rebase 란 무엇입니까? 리베이스에 대해 자세히 알아 보려면 아래 섹션을 참조하십시오.

위에서 설명한대로 업스트림 브랜치와 100-retweet-bugfix라는 개발 브랜치를 설정 한 경우 업스트림을 업데이트하고 로컬 마스터를 업데이트하고 다음과 같이 브랜치를 리베이스합니다.

$ git fetch upstream

$ git checkout master

$ git rebase upstream/master

$ git checkout 100-retweet-bugfix

[모든 필요에 따라 브랜치에서 커밋되었는지 확인]

$ git rebase master

이 경우 왜 '원격 업스트림'을 추가해야합니까? 내가 방금 한 일이 아니 었어.

$ git checkout master

$ git pull origin master

$ git checkout 100-retweet-bugfix

[모든 필요에 따라 브랜치에서 커밋되었는지 확인]

$ git rebase master

위키는 분기 된 저장소 관점에서 이야기하고 있습니다. 기본 디아스포라 리포지토리의 포크가 될 원본에서 당기고 밀 수 있습니다. 이 기본 저장소에서 변경 사항을 가져 오려면 로컬 저장소에 원격 "업스트림"을 추가하고이 원본을 가리키고 가져옵니다.

따라서 "origin"은 사용자가 밀고 당기는 포크 저장소의 복제본입니다. "Upstream"은 메인 저장소의 이름으로, 포크의 복제본을 가져 와서 업데이트 된 상태로 유지하지만 푸시 액세스 권한이 없습니다.


이것은 당신 origin이 아닌 자신의 것을 가지고있을 때 유용합니다 upstream. 즉, origin개발 및 로컬 변경을 수행 한 다음 때때로 upstream변경 사항을 병합하는 자체 저장소가 있을 수 있습니다 . 예제와 강조 표시된 텍스트의 차이점은 예제에서 업스트림 저장소의 복제본으로 직접 작업하고 있다고 가정한다는 것입니다. 강조 표시된 텍스트는 아마도 원래 업스트림의 복제본이었던 자체 저장소의 복제본에서 작업하고 있다고 가정합니다.


"후퇴 적 포크"에 사용될 수 있다고 생각합니다.

Git 리포지토리가 있고 이제 다른 리포지토리를 포크해야한다고 결정한 경우. 소급 적으로 새 저장소를 대상으로하여 저장소를 사용하는 팀을 방해하지 않고 포크가되기를 원합니다.

그러나 나는 틀릴 수 있습니다.

참고 URL : https://stackoverflow.com/questions/8948803/what-does-git-remote-add-upstream-help-achieve

반응형