Git仅合并开发分支的最终结果

Bob*_*ous 5 git github git-merge git-history-graph

如果一个Git仓库结构看起来像这样:

master: A-C
dev:     \B-D-E
Run Code Online (Sandbox Code Playgroud)

是否有可能将开发分支合并到master中,以便仅将一个提交添加到master中,其中包含在development分支中所有提交中找到的所有更改。因此,上述结构将合并为以下形式:

master: A-C-E'
Run Code Online (Sandbox Code Playgroud)

E'承诺将包含所有来自开发分支的变化,只有最新提交信息,添加新的功能,掌握在一个整洁的承诺。

在Git中可能吗?我希望能够使GitHub存储库的历史记录保持整洁,因为我的开发分支通常包含未完成,未打磨且不适合人类消费的早期提交。

Von*_*onC 4

合并部分应该很简单(参见“如何使用git-merge --squash ”):

git checkout master
git merge --squash dev
Run Code Online (Sandbox Code Playgroud)

不过,您可能需要调整提交消息:

git commit --amend -m "<commit message from E>"
Run Code Online (Sandbox Code Playgroud)

进行合并时您还有其他选择