2016-11-14 32 views
-1

我的步骤如下:为什么不git的变基导致线性项目历史

A. git checkout -b feature-a

B.编辑一些文件

C. git commit

D. git push origin feature-a

E.在gitlab上创建合并请求

F.Accept通过我的队友,合并到开发分支

G. git rebase origin/develop

我的预期是,该提交历史现在是线性的,但事实并非如此。是什么原因?

+1

你提交之前是否使用'git add '? – mrid

+0

couse我用'git add ' – phieo

+0

哪个分支在你调用最后一个命令的时候?你能指定一个“一团糟”吗? – Gernot

回答

0

基本上,git会在DAG(有向无环图)中记录您的提交历史记录,但您可以使用git log --first-parent来检索线性项目历史记录。

0

如果您的pull请求已合并到开发分支中,则会发生合并提交。所以开发分支的历史不是线性的。 (因为你的特性分支从你的开发分支开始并且再次被合并)。

要获得线性历史记录,您的队友必须重新绑定功能分支上的开发分支。

+1

作为一个方面说明,一般来说,如果你与其他人一起工作,并使用功能分支(适当的gitflow工作流程),你不会想要一个简单的线性历史记录(我个人在合并时坚持使用--no-ff),因为您希望将功能分支看作历史记录中的分支。所以你会希望你的历史尽可能的线性,但不能超过那个。 – slebetman