2016-08-16 100 views
1

我在gitlab有兩個分支masterrelease如何在批准合併請求時壓扁提交,gitlab

在發佈分支,我希望它只會提交如下消息:v0.1.0,v0.1.1。

說我完成發達v0.1.0,我有幾個特點和bug修正提交在master

c1. bugfix1 
c2. feature1 
c3. feature2 

我將創建gitlab從masterrelease合併請求,但我希望讓這三個提交到一個v0.1.0,和南瓜c1 c2 c3。

現在,在我現有的設置,我將有4提交信息:

Merge breanch 'master' into release 
c1 
c2 
c3 

有沒有辦法來消滅它,當我在gitlab批准,以便有消息會擠進:

v0.1.0 

請注意,這兩個分支都是受保護的分支,如果可能的話,我希望 git命令在releasemaster分支上,只有gitlab操作

回答

0

的合併提交只有一個承諾,但似乎你已經陷入了「快進」的陷阱。也就是說,在您的合併中,git已決定masterrelease的直系祖先的一部分,然後僅在release之上「快速轉發」您的更改。那麼,這看起來就像你所描述的那樣。

爲了解決這個問題,增加您的合併的--no-ff選項:

git checkout release 
git merge --no-ff master 

你會的話,恰好有一個對你release分公司提交;您可以編輯提交消息以包含您的發行版本。

0
git checkout release 
git merge --squash master 
git commit -m "Suitable Message of your choice" 

這將採取一切從master分支的提交,他們擠進了1提交,然後用你的release分支合併。