2016-09-15 2 views
0

브랜치를 master 브랜치로 시작한 GitHub 레포가 있는데, 많은 코드를 푸시했습니다. 그런 다음 내 컴퓨터에서 로컬로 git checkout -b development을 통해 development 브랜치를 만들고 푸시했으나 (git push origin development을 통해) 밀어 넣었습니다 (단지 masterdevelopment이 이제 동일 함을 의미).여러 master 브랜치를 git/GitHub에서 서로 병합합니다.

는 또 다른 개발자는 (최신이었다)에 development 지점의 오프 fizzbuzz 기능 분기를 만들을 가정, 대신 master 오프를 만들었습니다. 그녀는 이제 fizzbuzz 브랜치를 GitHub에 푸시했습니다.

궁극적으로 fizzbuzzdevelopment으로 병합하여 CI 빌드 및 DEV 배포를 시작합니다. 그런 다음 나중에 developmentmaster에 병합합니다.

하지만 fizzbuzzmaster이 아니고 development이 아니기 때문에 가능하지 않다고 생각합니다. 그렇지? 그리고 그렇지 않다면, 해결책은 무엇입니까? 그녀가 fizzbuzzdevelopment의 지사로 "재배치"할 수있는 방법이 있습니까? (그렇다면 명령은 무엇입니까?) 또는 다른 대체 방법이 있습니까?

답변

1

당신은 거의 자신의 질문에 답했습니다! git rebase development fizzbuzzfizzbuzzdevelopment에 리베이스합니다. git push origin fizzbuzz --force이면 GitHub가 기본 분기를 업데이트합니다.

+0

감사합니다. @kfb (+1) - '리베이스'가 필요하다고 생각했지만 이전에는 사용하지 않아도되었습니다. 빠른 후속 질문은 괜찮 으면, 이해하겠다는 것입니다. "* *는"fizzbuzz "을"개발 "*에 리베이스 (rebase) 할 것이라고 말하면,"development "를 분지 한 것처럼 보일 것입니다. 처음부터? 그리고 이것이 동일하거나 깨끗한 경우에만 작동합니까? '개발'에 실수로 분기 된 '마스터'가있을 때 거기에 없었던 새로운 코드가 있으면 어떻게 될까요? 다시 한 번 감사드립니다! – smeeb

+1

예,'fizzbuzz'가 항상'development'에서 분기 된 것처럼 보일 것입니다. 귀하의 두 번째 질문에 관해서는, 대답은 "그것은 다릅니다"입니다. [이 링크] (https://git-scm.com/book/en/v2/Git-Branching-Rebasing)는 일반적으로 리베이스 (rebase)에 대한 정보를 제공해야하며 [this link] (https : //help.github. co.kr/articles/resolving-merge-conflicts-a-git-rebase /)는 충돌이 발생할 경우 어떻게되는지에 대해 이야기합니다. – kfb

관련 문제