2013-01-18 3 views
0

첫 번째 경우 : 제 경우에는 다른 개발자와 충돌하는 유일한 개발자이자 끌어 오기, 병합 등의 문제가 없습니다.여러 분기를 동시에 리베이스하기

나는 3 가지 모양을 가지고 있습니다. 하나의 master 브랜치와 master 브랜치의 자식 인 여러 개의 테스트 브랜치가있다. 그러나 내가 만든 변경 사항 중 일부는 마스터 브랜치에 적용해야하고 다른 모든 브랜치는 마스터 변형과 동일한 기능/버그를 가지도록 리베이스됩니다. 이 경우

내 평소 워크 플로우는 다음과 같습니다

  1. 는 내가 다른 모든 지점을 통과 마스터로를 리베이스해야 그런 다음 마스터

    git commit -as 
    
  2. 에 변경 내용을 커밋합니다.

    git checkout test_1 
    git rebase master 
    git checkout test_2 
    git rebase master 
    git checkout test_3 
    git rebase master 
    git checkout test_4 
    git rebase master 
    ... 
    

것을 자동화하는 방법이있다. 나는 ubuntu에 있으며 나는 bash 셸을 사용합니다.

답변

1

당신은 마스터에 머물고하여 각 분기를 체크 아웃 방지하고 수행 할 수 있습니다

git rebase master test_2 

을 빠른 bash는 명령이 작업을

for branch in test_1 test_2 test_N 
do 
    git rebase master $branch 
done 
+0

을 수행하고 내가 병합 충돌 한 경우 나머지? –

+0

처음 충돌하면 명령이 중지되고 루프의 다음 명령은 아무 것도하지 않습니다 (충돌이 있기 때문에). 갈등을 해결하고'git rebase --continue'를하고 나머지 브랜치로 루프를 다시 실행하십시오. – CharlesB

관련 문제