2013-09-06 6 views
0

여기에 제 유스 케이스가 있습니다. 나는이 두 가지 master 브랜치에서 feature 브랜치를 최신 상태로 유지하는 방법은 무엇입니까?

  • 마스터

    (foo는)
  • 초보자 노동에-이 (바) 경험 자식 사용자가 master에서 작동이다

foo는, beginner-working-on-this에서 작동 바 동안 병합과 물건을 다루고 싶지 않은 초보자입니다. foo는 새로운 브랜치가 마스터에있을 때 마스터 브랜치와 병합하여 브랜치 브랜치를 업데이트합니다. (커밋 메시지를 보존하고 싶습니다.)

그래서 foo는 git checkout beginner-working-on-this입니다. 그러면 커밋 메시지와 업데이트 바의 브랜치를 보존 할 수 있습니다. git rebase master. 그런 다음 foo는 마스터 브랜치 git merge master을 갱신합니다. 이제 막대가 그의 지점에 git pull을 당길 때. 그는 오류가 발생합니다 no tracking information for current branch

여기서부터 무엇을해야합니까?

+0

왜 '병합'이 뒤 따르는'rebase'를하고 있습니까? merge는 중복인가? 가장 좋은 방법은 * bar *가 직접 리베이스를 수행하는 것입니다. –

+0

'bar'는 워크 플로에 대한 조언을 위해 'foo'와 대화해야하며 'foo'는 병합보다는 리베이스를 수행해야합니다. 나는 'bar'를 코치하지 않기 위해 여기 'foo'를 비난했다. 마스터 인 'foo'는 항상 최신 상태 여야하므로 'git merge master'를 수행하지 않아야합니다. – vgoff

+0

이 문제를 해결하려면 더 많은 정보가 필요합니다. 'git log --online --graph --decorate --all'의 출력을 제공 할 수 있습니까? 또한 하나 이상의 원격 저장소를 사용하는 foo 및 bar입니까? 아니면 실제로 동일한 로컬 저장소를 공유하고 있습니까? –

답변

0

foo가 bar의 로컬 브랜치를 실제로 rebases하지 않는 한, 그것을 리베이스하여 바 업데이트 foo의 브랜치를 가지고있는 것은 좋은 워크 플로우가 아닙니다. 그 이유는 foo가 원격 브랜치 <remote>/beginner-working-on-this을 리베이스하는 경우 바는 변경된 히스토리와 그의 작업을 다시 동기화해야하기 때문에 초보자에게는 어려울 것입니다.

bar 누가 에서 일하는 사람은 병합 및 물건을 처리하고 싶지 않아 초보자입니다.

막대는 실제로 다른 모든 "물건"과 함께 힘내에서 병합하는 법을 배워야합니다. 병합 작업은 Git 워크 플로에서 많이 발생합니다. Git은 병합을 매우 쉽게 할 수 있도록 설계되었습니다. FREE online Pro Git book, 특히 1-3 장 및 6-6.5 장을 적극 권장합니다. 또한 바는 대화 형 및 비대화 형 모두에서 rebase 방법을 학습해야합니다.