2013-07-15 4 views
2
    change 1, change 2, change 3, change 4 
       /
master >> Branch A 
        \ Branch A1 
          \ 
           change 1001 

나는 처음부터 주인에게서 가지 A를 만들었다. 그런 다음 나는 가지 (A1)에서 가지를 만들었다.git에서 브랜치의 브랜치 만 변경하는 방법은 무엇입니까?

시간이 지남에 따라 지점 A에 몇 가지 변경 사항이 있습니다. 지점 A1에 몇 가지 변경을했습니다.

이제 브랜치 A (변경 사항 1 - 4)를 변경하지 않고 지점 A1의 변경 사항을 마스터 (1001 변경)로 가져 오려고합니다.

git으로 쉽게 할 수 있습니까? 가능하다면이를 달성하기위한 적절한 단계는 무엇입니까?

Eclipse에서 eGit 플러그인을 사용하고 있습니다.

답변

0

당신은

x--x--x (master) 
     \ 
     y--y1--change 1, change 2, change 3, change 4 (branchA) 
      \ 
      change 1001 (branchA1) 

나이 : 두 번째 경우 (branchA1master에서 유래)에서

  change 1001 (branchA1) 
    /
x--x--x (master) 
     \ 
     y--y--change 1, change 2, change 3, change 4 (branchA) 

을, 당신은 단순히 masterbranchA1을 병합 할 수 있습니다.

그러나 첫 번째 경우에 (branchA1branchA에서 유래)

, 당신은 할 수 있습니다

git cherry-pick change 1001 

그러나 그 어떤 duplicate commits을 떠나 functional dependencies의 적용을받습니다 것이다.
가능한 경우 체리 피킹을 피하려고합니다.

또는 :

git rebase --onto master y1 branchA1 

모든 master 지점에 (branchAy1 후) branchA1에서 커밋 이동 것입니다. 중복 커밋 없음

+0

빠른 답변 감사드립니다. – Lemonius

관련 문제