2016-10-21 7 views
1

나뭇 가지 사이에 공유 부수 :힘내 : 재료는이 같은 조금 보이는 자식 respository이

C0 ---- C1 ---- ... ---- C12 ---- C14 (dev) 
          \ 
          \---- C13 (abandoned) 

'DEV'는 주요 개발 지점이며, '포기'우리가 할 수있는 실험이다 앞으로 어떤 시점에서 다시 방문하십시오. 다음 C1'을 확인 내가

C0 ---- C1' ---- C14' (dev) 

를 얻기 위해 dev에 대화 형 REBASE를 사용할 수

C0 ---- C1' ---- C14' (dev) 
     \ 
      \---- C13' (abandoned) 

: 나는 이런 식으로 뭔가를 얻으려면 아래 하나에 ... C12C1 스쿼시 커밋 싶습니다 체리 - C13C13'으로 선택하십시오. 하지만이 작업을 수행하는 더 쉬운 방법이 있습니다. 수동 작업을 많이하지 않고 더 많은 분기와 발산 된 커밋 (그러나 일부 공유 히스토리)을 처리하는 더 복잡한 다이어그램을 처리 할 수 ​​있도록 확장 할 수도 있습니다.

답변

2

당신은 올바른 길을 가고 있습니다. 먼저 C13을 무시하고 대화 형 리베이스로 C0 - C1' - C14'으로 스쿼시 다운합니다. 그런 다음 체리 피킹하지 말고 C13C1'에 리베이스하십시오. git은 이것이 기본적으로 아무 작업도하지 않는다는 것을 감지해야합니다. 그러면 완료됩니다. 따라서 :

git rebase --onto C1_new C12 C13 
+0

더 복잡한 경우에는 훌륭하게 작동했습니다. 고맙습니다. – Mohan