在我们的工作流程中,没有“直接”提交到 master 分支。 master 分支仅接收来自 merge 请求的 merge 。
我们可以将每次 merge 视为添加到 master 分支的新功能。
所以我想获取 merge 到 master 中的列表,作为一种可视化随时间推移添加到产品中的功能 block 的方法。
git 或 Github API 是否公开此查询,或者我是否必须解析原始提交?
最佳答案
我使用以下脚本:
git log --merges --first-parent master \
--pretty=format:"%h %<(10,trunc)%aN %C(white)%<(15)%ar%Creset %C(red bold)%<(15)%D%Creset %s"
解释每个参数:
-
--merges
: 仅“merge ”提交(超过 1 个父级); -
--first-parent master
: 仅 merge 应用于master
.这将删除有人 merge 的条目master
进入他们的分支机构; -
--pretty-format
:应用以下格式:-
%h
: 提交短哈希; -
%<(10,trunc)%aN
: 作者姓名,截断 10 个字符; -
%<(15)%ar
: 相对提交时间,补齐15个字符; -
%<(15)%D
: 标签名称,也填充到 15 个字符; -
%s
: 提交消息的第一行。
-
结果还算满意:
关于git - 是否可以从 Github 网站或 API 获取 merge 到分支的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21623699/