2013-06-12 2 views
0

그래서 우리는 우리의 배포본을 위해 분기했고 다음과 같은 상황에서 master에 계속 추가됩니다.Git rebase가 ancestor에서 master로 바뀝니다.

A---B---C---Q---W---E---R---T master 
    \  /
     D---E---F Release 1 
       \ 
       G---H---I Release Fixes 

변화는 '릴리스 1'의 F까지 '마스터'로 다시 병합됩니다. '릴리스 수정'변경 사항을 '마스터'에 리베이스/재생할 수 있습니까? 편집


더 자세한 정보를 제공하기 위해, 나는 커밋의 시리즈와 검사 된 파일 중 일부가 올바른 버전에있을하지 않는 것의 벚꽃 선택을 했어요. 병합이 제안되면 두 커밋간에 병합을 수행 할 수 있습니까?

+1

마스터 병합에 실패합니까? 충돌을 해결해야하지만 작동해야합니다. – Rufinus

+0

두 번째 이전 댓글, 왜 당신은 그냥 _merge_하지 않습니까? – kirelagin

+0

내가 물어 보는 이유는 많은 커밋 중 체리 선택을했고 일부 파일은 최신 커밋과 함께 최신 상태가 아니라는 것입니다. 'git merge .. '을 사용하여 병합 된 변경 사항이 분기의 하위 집합으로 축소되도록 할 수 있습니까? – rynmrtn

답변

0

예, rebase 명령은 다음과 같습니다

git rebase --onto master F I  #<realse1>..<release-fixes> 

하지 제거합니다이 F에서 G, H 및 I를 범하고 G ', H'를 만들고, 당신이 원하는 경우에 나는 T.에 '있음 + kirelagin 지적으로 단지 장소에 남겨 병합을 수행

git checkout master 
git cherry-pick G H I # <release1>..<release-fixes> 

[편집] 또는 : G, H 및 I를 떠나 자리에서 당신은 할 것.

+2

해당 위치에 그대로 두려면 일반적으로 _merge_를 수행하십시오. – kirelagin