2013-11-09 3 views
10

github 프로젝트를 포크하고 로컬로 복제했습니다.git - 포크의 마스터를 업데이트하고 내 브랜치를 리베이스하십시오.

그런 다음 my_github/the_project repo에 새로운 지점을 변경했습니다.

그런 다음 변경 사항을 추가하고 커밋하여 github repo에 푸시하고 끌어 오기 요청을 제출했습니다.

소유자가 내 요청을 받았으며 최근 변경 사항을 적용하려면 "마스터에 리베이스하기"를 원합니다. 어떻게해야합니까?

처음에는 현재 내 지점 (내 조언을 찾은 대부분의 게시물 ...)에서 git fetchrebase master을 얻을 수 있다고 생각했지만 git fetch은 아무 것도하지 않았습니다. 이제 나는 그것이클론 (아직 리모트에있는 내 이름)에서 아직 가져온 것이므로 github 소스 소유자로부터 master의 새로운 변경 사항을 아직 가져 오지 않았기 때문에 아마도 그 사실을 깨달았습니다. 나는 그 마스터를 가져올 수 다음가 마스터에 리베이스 최신 상태로 유지하고

는 내가 아마 "새로 고침"입니다 무엇을해야하는지 생각 포크 있도록 내 포크의 주인은?

이 경우 내 포크 마스터를 어떻게 새로 고칠 수 있습니까? 다른 방법이 없다면?

원격 저장소를 원래의 업스트림 저장소에 추가하고이를 (로컬)로 리베이스해야합니까? 이것이 선호되는 방법입니까?

답변

10

예, 추측 한 이유 때문에 아무것도 가져 오지 않았습니다. 그리고 예, 로컬로 업스트림에 리모컨을 추가해야합니다. 마스터에서 빨리 감기 병합을 수행합니다.

git checkout master # Make sure you are in master 
git remote add author original_repo_that_you_forked_from 
    # Note: This is in the format [email protected]:authors_name/repo_name.git 
    #  Only needs definition once, future fetches then use it. 
git fetch author 
git status # make sure you are in the master branch for the following merge 
git merge author/master # i.e. 'into' your master branch 
git checkout your-branch 
git rebase master  # Now get those changes into your branch. 
git push origin your_branch # You can also use `-f` if necessary and `--all` 

자식 푸시 원점 --all``같은

+0

당신은 푸시에 리모컨을 지정할 수 있습니다 (죄송합니다, 나는 정확히 올바른 구문이 없을 수도 있습니다)하지만, 그 그게 내가 정확히 무엇이다 '제안한다. – Leigh

+0

이 github [rebase and merge blog] (https://github.com/blog/2243-rebase-and-merge-pull-requests)에서 기고가가 변경을 리베이스하지 않았더라도 _author_가 rebase 및 merge하기에 매우 convienient되어 있습니까? 이 경우, 왜 PR이 리베이스되지 않았기 때문에 보류 상태에 있는지 이해할 수 없습니다. – Felix

+0

충돌이 발생하면 관리자가이를 해결할 방법을 알 필요가 없기 때문입니다. 저자는 그들을 고칠 수있는 최상의 위치에 있습니다. –