2016-10-27 92 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