2017-10-05 5 views
0

git rebase와 git merge의 문서를 살펴 보았습니다. 나는 그 차이점을 거의 이해하고 있지만, 나는 의심의 여지가있다. 리베이스가 현재 브랜치 또는 리베이스 된 브랜치에 영향을 미칩니 까? 예를 들어브랜치 rebase가 현재 브랜치 또는 rebased 브랜치를 chnage합니까

:

I 분기 new-branchmaster에서 체크 아웃 모두 masternew-checkout 지점 지금 new-branch 일부 커밋을 누른 후, 나는 기원 마스터와 함께 리베이스하려면, 진행합니다.

나는 내가 리베이스를했다

git rebase master 

my-branch이 명령을 실행, 그 자식이 현재 master 브랜치 헤드의 상단에 my-branch의 새로운 커밋을 넣어 알고 있습니다.

이제 내 질문은 my-branch에서 강제로 푸시하면 my-branch 코드가 변경되거나 리모컨 master 브랜치가 변경됩니다.

내 질문에 대한 이해가 되었기를 바랍니다. 내 질문에 혼란스러운 점이 있으면 알려주십시오. 어떤 도움을 주시면 감사하겠습니다.

+0

git rebase master는 'my-branch'의 맨 위에있는 master 브랜치의 커밋을 넣을 것입니다 ... –

+0

어떤 브랜치를 밀어 넣고 있습니까 ??? –

+0

rebase 후 master- – Vikash

답변

1

git rebase masternew-branch의 커밋 기록이 변경됩니다. 그래프 아래로

는 커밋 원래 역사는 가정

A---B---C---G---H master 
     \ 
      D---E---F my-branch 

git rebase master을 실행 한 결과,이 my-branch에서 master 가지의 변경을 리베이스 것이다. 원격 my-branch 그래프 상기와 F'으로 버전이 변경됩니다, 원격 (git push -f origin my-branch)에 my-branch에 대한 푸시를 강제하는 경우

A---B---C---G---H---D'---E'---F' my-branch 
       | 
       master 

: 그리고 커밋 역사처럼 보일 것입니다.

+0

마스터 분기는 언제 'F'로 변경됩니까? 내가 master에 체크 아웃하고 git push master를하면'F '와 같이 바뀌겠습니까? – Vikash

+0

'master' 브랜치는 변경되지 않았고, 여전히'H'를 위임합니다. 'master' 브랜치를 다시 누르면, 모든 것이 최신으로 표시됩니다. –