2016-10-27 2 views
1
내가 dev에 지점에 내 기능 지점을 리베이스 할

을 리베이스하지 않는, 그래서자식은

git checkout feature 
git rebase dev 

을 기능이 아닌가?

git checkout dev 
git log 

는 기능에서 새로운 커밋이 추가되지 있다는 것을 보여줍니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내가 dev 있으리라 믿고있어

+0

'자식 rebase' 현재 지점, 당신이 리베이스하려면 어떤 지점을 변경 즐길 수

마지막으로, 다시 새로운 dev에 밀어 넣습니다. – choroba

+0

아마도'git checkout feature','git rebase dev','git checkout dev','git merge feature'라고 할 수 있습니다. 먼저이 기능의 시작점을 dev의 팁으로 업데이트 한 다음 feature에서 작성한 커밋을 dev에 병합합니다. – kaitoy

답변

1

는 기본 지점입니다. 당신이 체크 아웃을 수행하여 그대로 (당신이 dev (또는 dev에 HEAD와 같은 커밋 시점이었다 다른 지점) 떨어져 feature 분지 초기 및 변경 때 feature 내부, 그 분기 이후 dev에 최선을 다하고되지 않은 경우

) dev으로 리베이스하면 아무 일도 일어나지 않습니다. HEADdev 커밋은 이미 feature의 기본 커밋입니다.

커밋이 dev으로 변경된 경우 rebase는 새로운 기능인 devHEAD으로 리베이스됩니다.

당신은 필요한 경우 (당신의 기능에서 작업하는 동안 dev 변경 한 경우) 다음 dev로 다시 리베이스 기능 분기를 병합하여 feature 지점을 리베이스, dev을 리베이스하고 싶지 않아요.

git checkout dev 
git checkout -b feature 

지금 내 기능 지점에있어 : ​​

여기 dev에 가정 내 흐름 내 주요 지점입니다입니다. 내가 지점을 변경하기 위해 일부 기능을 변경했는데, 그동안 개발자가 변경되었을 수도 있습니다. 아직 기능 분기에, 그래서

git checkout dev 
git pull origin dev 

그래서 변화가 디바이스에 일어난 변경 사항을 찾기 위해 dev에 다시 변경, 그래서 나는

git checkout feature 
git rebase dev 

가 지금은 병합 할 준비가 제 기능을 가지 리베이스하려면 내 기능 분기 다시 DEV로

git checkout dev 
git merge --squash feature 

스쿼시는 선택 사항이지만, 하나에 기능을 가지 변화가 dev에 다시 병합 커밋 응축. 다른 사람들이

git push origin dev 
+0

감사합니다, 올바른 dev 브랜치에서 변경된 사항이 없으므로 간단한 병합이 도움이되었습니다. – Asara