2013-05-12 1 views
0

mergerebase에서 읽는 지난 30 분을 보냈습니다. 스택 오버플로. 내가 이해할 수 있듯이 선형성을 유지하기 때문에 rebase이 좋지만 역사가 바뀌기 때문에 공동 작업자에게는 혼란을 줄 수 있습니다.기능 분기에서 병합 가져 오기 + 병합, 마스터에서 리베이스

그래서,이 기능 분기에 그

  1. 을 추론 기록을 유지 관리 및 공동 작업자 사이에 혼동을 피하기 위해 병합 + 인출 사용하는 것이 공정 할 것입니다. 어쨌든 마스터로 이동 한 후에는 이 삭제 될 것이므로 혼란은 중요하지 않습니다.

  2. 마스터 브랜치에서 rebase를 사용하면 혼란을 피할 수 있습니다. 기능 분기가 단일 커밋으로 푸시되기 때문에 히스토리 수정은 이 아닙니다.

+0

멋진 블로그 포스트가 있습니다. 기본적으로 다음과 같은 블로그를 사용할 수 있습니다. http://mislav.uniqpath.com/2013/02/merge-vs-rebase/ –

답변

0

당신이 마스터로 주제 분기를 병합 할 수 있습니다 준비가되면 당신은 그 다음 Topic Branch

# integrate the latest upstream changes into your "master" 
git checkout master 
git pull 

# make sure that you're on your topic branch 
git checkout my_topic 

# do the rebase 
git rebase master 

에있는 동안 당신은 리베이스는

git checkout master 
git merge my_topic 
1

주로 워크 플로우와 어떤 역할에 따라 달라집니다 귀하의 지점은 해당 워크 플로우에서 실행됩니다.

  • REBASE만큼 당신이 예를 커밋, 아직, 또는 당신이 확신하는 경우 다른 사람이 귀하의 지점에 관심이 없다 (즉, 푸시)를 게시하지 않았로 괜찮 : 엄지 손가락의 규칙으로

    .

  • 명시 적 병합은 일부 기능 분기를 다른 분기로 통합 할 때 유용합니다. 이 경우 설명적인 병합 커밋이 필요합니다.

사실 거의 항상 git pull --rebase을 사용합니다. 중요한 부분은 올바른 원격 지사에 상류을 설정하는 것입니다 즉

  • 원격 기능 분기 이후 기능 지점에 작업을 밀어 전에에서 분기 분기.
관련 문제