2013-07-23 4 views
0

나는 힘내에 아주 새롭, 나가보고있는 무엇이든을 찾아 낼 수 없다, 그래서 나는 아마 정당한 무언가를하고있다.힘내 rebase 기능을 중복하십시오

분기가 master에서 가장 최근의 커밋을 갖도록 master에 분기를 리베이스하려고하므로 최종 병합 전에 테스트 할 수 있습니다. 여기

내가 다음하고있는 워크 플로우입니다 :

> git clone <master> 
> git remote add branch_repo <branch> 
> git fetch branch_repo 
> git checkout -b new_branch branch_repo/branch 
> git fetch origin 
> git rebase origin/master 

다른 중요한 정보 :이 지점은 코드베이스에 걸쳐 몇 가지 중요한 변화

  • 마스터가 적어도 한 번 이후

    • 를 리팩토링되어있다 초기 지점

    결과는 aft rebase가 완료되고 모든 병합 충돌을 해결하면 결과 파일에는 많은 중복 기능이 있습니다. 때때로 자동 병합은 나에게 전혀 이해가되지 않습니다. 한 기능의 본문이 완전히 다른 기능의 선언과 함께 배치되는 것처럼 말입니다.

    내 워크 플로가 잘못 되었나요? 아니면 수동으로 해결해야하는 리팩터 + 주요 개정판의 불행한 부산물입니까?

  • +0

    여기에서 성취하려는 것을 말할 수 있습니까? 이미 마스터 브랜치가 있고 master의 맨 위에 new_branch를 작성하고 추가 할 항목을 원하십니까? – noMAD

    +0

    그리고 브랜치를 복제하지 마십시오. 복제본을 복제하지 않습니다. – noMAD

    +0

    컨텍스트를 추가하려고 시도했습니다. 모든 브랜치가 속도를 낼 수 있도록 노력하고있어 모든 마스터가 커밋을 수행하므로 올바르게 테스트 할 수 있습니다. – Sid

    답변

    0

    좋아요, 상황을 정확히 이해하면 좋습니다. 마스터에서 분기하여 약간의 변경을가했지만 변경 사항을 마스터로 푸시하기 전에 다른 사람이 마스터를 업데이트했습니다. 이제 마스터를 리버스하여 마스터에 새로운 변경 사항을 적용해야합니다. 그럼 여기에 당신이하는 방법이 있습니다. 너는 완전히 틀리지 않았다.

    (Assuming you are in you branch) 
    
    1. > git checkout master 
    2. > git pull (assuming your remote points to origin/master) 
    3. > git checkout your_branch (assuming there were no merge conflicts during the pull) 
    4. > git rebase -i master (now that your local master is up to date you can rebase off it) 
    

    병합 충돌을 정리하면 좋은 결과를 얻을 수 있습니다.

    +0

    감사! 어떻게 든 대화식 플래그가 도움이되었습니다. 나는 병합 중 하나가 망가 졌다고 생각한다. (필자는 수동으로 많은 중복 된 내용을 제거해야만했다. 그러나 이번에는 분명했다.) – Sid

    관련 문제