2013-10-22 5 views
2

development에는없는 커밋이있는 master 분기가 있습니다.리베이스를 수행 할 때 어떤 지점에 있어야합니까?

development 분기에는 master에는없는 커밋이 더 있습니다.

development의 상태를 master으로 병합하려는 경우, 즉 master에있는 development의 변경 사항을 무시하십시오.

나는 rebase해야한다고 들었다.

그래도 이해하지 못하는 어떤
git rebase master 

, 내가 master 또는 development을에, (설명 된 시나리오를 달성하기 위해) 명령을 작성해야 어떤 지점에서이다 : When I read about rebase, 나는 구문은 다음과 같은 것을 이해?

답변

1

이 특정 시나리오에서는 development 분기에서 명령을 작성합니다.

이것은 git merge master이 현재 분기에 마스터를 병합하는 방법과 비슷합니다.

+0

아, 알겠습니다. 그래서 rebase를하는 것은 "개발"에서 "과거"에 변화를가하면서 내 국가를 계속 개발한다는 것을 의미합니다. 그런 다음 두 지점을 합치려면 마스터와 병합해야합니다. –

+0

예, '개발'의 역사는 '마스터'의 역사상으로 옮겨졌습니다. 따라서'개발'에는'마스터'의 커밋이 있지만 다른 방법은 없습니다. –

1

체크 아웃 개발 등으로 거기에서 리베이스 :

git checkout development 
git rebase master 

후자의 예는, git rebase master development는 (당신이 연결 한 문서에 설명 된대로) 위 명령의 짧은 버전입니다.

이렇게하면 개발 분기 변경 사항이 마치 마스터에서 가장 최근 커밋에서 시작한 것처럼 보일 것입니다 (충돌이 발생하지 않는다면 리베이스 중에 해결해야합니다) . 모든 것이 잘되면 단순한 빨리 감기 병합으로 작동하는 마스터로 개발을 병합 할 수 있습니다.

좋은 설명은 http://rypress.com/tutorials/git/rebasing.html을 참조하십시오.