2016-10-14 2 views
0

내 워크 플로에 master과 원격 브랜치 branch1이 있습니다. branch1에서 나뉘어서 branch2을 만들었습니다. 나는 branch2branch1에서 일을했으며, 다른 개발자들에 의해 커밋 된 것을 더 많이 가지고있었습니다. 일단 내가 끝나면 branch2에 대한 내 변경 사항을 branch1의 최신 커밋 상단에 내 변경 사항을 리베이스했습니다. Git 로그인 branch2은 내 커밋을 branch1의 최신 커밋 위로 보여 주므로 모두 잘 보입니다. 그러나 branch1git log에서 내 커밋을 볼 수 없습니다. git rebase을 수행 한 후에 git push을해야합니까? 예인 경우이 경우에는 branch1 또는 branch2으로 푸시합니까?git rebase 후에 푸시 할 브랜치

답변

1

변경 사항은 branch1의 일부가 아니기 때문에 branch1에 반영되지 않습니다.

귀하의 경우 branch2branch1 이후에 으로 표시되므로 두 가지를 모두 볼 수 있습니다. 그러나 branch1에서branch2보다 앞에 있습니다. branch1 님의 관점에서 보면 branch2은 아직 발생하지 않았습니다.

보고있는 내용이 정확합니다. 당신이 당신의 "최종" "라이브"또는 지점으로 master 분기를 사용하는 경우 마스터에 branch2를 병합 할 수 있습니다 :이 master에 두 지점에서 변화를 가져올 것

git checkout master && git merge branch2 

.


또한 : branch1가 원격 및 branch2 정말이 경우에는 문제가되지 않는 지역이라는 사실. 커밋은 두 위치에 있습니다 (왜냐하면 자식이 배포되기 때문입니다). "브랜치"는 다른 커밋에 쉽게 부여 할 수있는 이름입니다.

+0

대신'git checkout branch1 && git merge branch2'를 할 수 있습니까? 수표와 물건들을 얻기 전에 마스터에 합류해서는 안됩니다 ... – newkid101

+0

그래, 그럴 수있어. 그러면 트리에서'branch1 '을 앞쪽으로 (빨리 감기)'branch2'가되도록 움직이게되어 사실상 두 개의 가지를 똑같이 만듭니다 (동일한 커밋을 가리킴). – willoller

+0

사이트 참고 사항 : GUI는이 항목을 시각화하는 데 특히 도움이됩니다. 특히 git을 배울 때 유용합니다. 지금 내 fav는 https://www.gitkraken.com/이지만 ymmv입니다. – willoller