2016-10-27 52 views
1

我想变基我有支成的Dev分支,所以我做Git并不做衍合

git checkout feature 
git rebase dev 

然后我得到

Current branch feature is up to date 

这就是已经陌生的,它不应该更新开发而不是功能?

进一步

git checkout dev 
git log 

表明,添加从特征没有新的提交。我究竟做错了什么?

+0

'git的rebase'改变当前分支,没有要变基在树枝上。 – choroba

+0

我想你可能想要做的就是'git checkout feature','git rebase dev','git checkout dev'和'git merge feature'。这首先将功能的开始点更新到dev的顶端,然后将在feature中进行的提交合并到dev中。 – kaitoy

回答

1

我假设dev是您的主要分支。

如果您最初的支feature关闭的dev(或其他分支,然后在同一犯点作为开发HEAD)并自该分支没有发生任何变化致力于为dev,里面的时候feature(因为你是做结帐)如果你改为dev,则不会发生任何事情。 HEADdev的提交已经是feature的提交。

如果已经提交到dev,那么基准将具有重新分配特征到新的devHEAD

你不想变基dev,如果需要的话你衍合feature分支(如果您有工作,而已经改变dev),然后合并重订基期特性分支回dev

这里是我的流量假设开发是我的主要分支:

git checkout dev 
git checkout -b feature 

现在,我在我的特性分支。我对功能分支提交了一些更改,也许dev在此期间发生了变化。不过在功能分支,因此在改变回dev下寻找任何变化

git checkout dev 
git pull origin dev 

因此改变发生在开发,所以我想我的衍合特性分支

git checkout feature 
git rebase dev 

现在我已经准备好合并我的特性分支到开发

git checkout dev 
git merge --squash feature 

壁球是可选的,但是它凝结变化的特性分支成一个单一的合并回开发承诺。

最后,推新开发的备份供他人欣赏

git push origin dev 
+0

谢谢,正确我没有改变开发分支,所以简单的合并帮助 – Asara