Git 在合并changelog期间从所有以前的提交中收集提交消息

Git 在合并changelog期间从所有以前的提交中收集提交消息,git,git-merge,Git,Git Merge,我有一个主要分支和一个功能分支。功能分支在主分支之前有几个提交,我想将功能分支合并到主分支中。我不打算--挤压,也不想重新设置基址,因为我喜欢保存历史 我想总结一下合并的提交消息中发生了什么变化,因为功能分支历史可能会变得复杂,对我来说,一个好的起点是复制和编辑自上次合并以来功能分支的各种提交中的所有提交消息 我模模糊糊地记得在某个地方读到git可以为我编译这些消息,但我不记得在哪里读到的,也不记得怎么做 如果这是重复的话,我很抱歉,但是谷歌和其他一些搜索引擎都没有发现这一点 编辑:本质上,我试

我有一个主要分支和一个功能分支。功能分支在主分支之前有几个提交,我想将功能分支合并到主分支中。我不打算
--挤压
,也不想
重新设置基址
,因为我喜欢保存历史

我想总结一下合并的提交消息中发生了什么变化,因为功能分支历史可能会变得复杂,对我来说,一个好的起点是复制和编辑自上次合并以来功能分支的各种提交中的所有提交消息

我模模糊糊地记得在某个地方读到git可以为我编译这些消息,但我不记得在哪里读到的,也不记得怎么做

如果这是重复的话,我很抱歉,但是谷歌和其他一些搜索引擎都没有发现这一点

编辑:本质上,我试图做的是为发布之间更改的所有内容构建一个变更日志

我隐约记得在某处读到git可以为我编译这些消息

可能通过:不要通过重新基准(取消它),而是复制粘贴重新基准期间显示的聚合提交消息主题

否则,您无法手动(如所示)处理这些消息

或者使用类似的工具从您的历史记录中获取这些提交消息。

a

git log --oneline HEAD ^master
将在
git-rebase-i master
中创建这样的输出

也许可以通过管道
|cat
删除彩色注释。

您要查找的是
--log

  --log[=<n>], --no-log
       In addition to branch names, populate the log message with one-line
       descriptions from at most <n> actual commits that are being merged.
       See also git-fmt-merge-msg(1).
--日志[=],--无日志
除分支名称外,用一行填充日志消息
最多来自正在合并的实际提交的描述。
另请参见git fmt合并消息(1)。

使用
git shortlog
?Rebase将保持所有提交的完整性。你使用github吗?使用github,我创建一个Pull请求并合并到master。合并时,GH提供了“压缩并提交”或“保留历史”选项。根据需要选择并合并。@MohanaRao当您在GitHub上“挤压并提交”时,您是否会丢失合并本身的历史记录,因为它在技术上不是一个合并?是的,在您的情况下,您选择了另一个选项(不要挤压)。我找到了这个链接,希望这有帮助。我想我记得的一定是重设基础和取消选项。不过,chyle的这一选择很有趣。我得检查一下。