GitHub에서 누군가의 저장소를 포크하고 원래 저장소에서 수행 한 커밋 및 업데이트로 버전을 업데이트하고 싶습니다. 이것들은 내가 사본을 포크 한 후에 만들어졌습니다.
원본에서 작성된 변경 사항을 가져 와서 저장소에 통합하려면 어떻게해야합니까?
답변
원래 저장소 (포크 한 저장소)를 원격으로 추가해야합니다.
로부터 GitHub의 포크 맨 페이지 :
복제가 완료되면
origin
리포지토리에 GitHub의 포크를 가리키는 “ ” 라는 리모컨이 있습니다.
이름을 혼동하지 마십시오. 이것은 원래 포크를 가리키는 것이 아닙니다. 해당 리포지토리를 추적 할 수 있도록“업스트림”이라는 다른 리모컨을 추가합니다.
$ cd github-services
$ git remote add upstream git://github.com/pjhyett/github-services.git
$ git fetch upstream
# then: (like "git pull" which is fetch + merge)
$ git merge upstream/master master
# or, better, replay your local work on top of the fetched branch
# like a "git pull --rebase"
$ git rebase upstream/master
GitHub 작업을 용이하게 하는 루비 젬 도 있습니다 .
” 깃 포크는 git clone? ” 도 참조하십시오 .
답변
VonC의 답변 외에도 원하는대로 조정할 수 있습니다.
원격 브랜치에서 가져온 후에도 커밋을 병합해야합니다. 나는 교체 할 것이다
$ git fetch upstream
와
$ git pull upstream master
git pull은 본질적으로 git fetch + git merge이기 때문에.
답변
이 비디오 는 GitHub에서 직접 포크를 업데이트하는 방법을 보여줍니다
단계 :
- GitHub에서 포크를 엽니 다.
- 를 클릭하십시오
Pull Requests
. - 를 클릭하십시오
New Pull Request
. 기본적으로 GitHub는 원본을 포크와 비교하므로 변경하지 않은 경우 비교할 내용이 없습니다. - 를 클릭하십시오
switching the base
. 이제 GitHub는 포크와 원본을 비교할 것이며 모든 최신 변경 사항을 볼 수 있습니다. Create a pull request
이 비교를 클릭하고 풀 요청에 예측 가능한 이름을 지정하십시오 (예 : 원본에서 업데이트).- 를 클릭하십시오
Create pull request
. - 아래로 스크롤하여 클릭
Merge pull request
하고 마지막으로Confirm
병합하십시오. 포크에 변경 사항이 없으면 자동으로 병합 할 수 있습니다.
답변
사용하다:
git remote add upstream ORIGINAL_REPOSITORY_URL
그러면 업스트림이 분기 저장소로 설정됩니다. 그런 다음이 작업을 수행하십시오.
git fetch upstream
원래 저장소에서 master를 포함한 모든 분기를 가져옵니다.
이 데이터를 로컬 마스터 브랜치에 병합하십시오.
git merge upstream/master
갈래 저장소로 변경 사항을 푸시하십시오.
git push origin master
짜잔! 원본 리포지토리 동기화가 완료되었습니다.
답변
GitHub 데스크톱 애플리케이션을 사용하는 경우 오른쪽 상단에 동기화 버튼이 있습니다. 그것을 클릭 한 다음 Update from <original repo>
왼쪽 상단 근처에서 클릭하십시오 .
동기화 할 변경 사항이 없으면 비활성화됩니다.
다음은 스크린 샷 이 쉽게 할 수는.
답변
잃을 것이 없다면 포크를 삭제할 수도 있습니다. 설정으로 이동하십시오. 아래의 위험 구역 섹션으로 이동하여 저장소 삭제를 클릭하십시오. 리포지토리 이름과 암호를 입력하라는 메시지가 표시됩니다. 그런 다음 원본을 다시 포크하십시오.
답변
cli없이 수행하려면 Github 웹 사이트에서 완전히 수행 할 수 있습니다.
- 포크 저장소로 이동하십시오.
- 를 클릭하십시오
New pull request
. - 포크를 기본 저장소로 설정하고 원래 (업스트림) 저장소를 헤드 저장소로 설정하십시오. 일반적으로 마스터 브랜치 만 동기화하려고합니다.
Create new pull request
.- 병합 버튼 오른쪽의 화살표를 선택하고 병합 대신 리베이스를 선택하십시오. 그런 다음 버튼을 클릭하십시오. 이렇게하면 불필요한 병합 커밋이 생성되지 않습니다.
- 끝난.