如何使用Git命令仅提取分支最新提交中的目标提交消息?
Git提取合并提交中目标提交信息的方案
你当前最新提交属于合并提交,使用%s、%B、%b参数返回结果差异如下:
%s:仅返回合并提交首行标题Merge branch 'mos-changes' into 'uat'%B:返回完整的合并提交全部内容%b:返回合并提交除首行标题外的正文内容
你需要的**向列表视图新增列(Add columns to list view)**属于合并提交正文的首个有效内容,可使用以下两种方案实现:
方案1:过滤现有合并提交内容提取目标值
通过管道命令过滤空行、提取首条有效内容并去除前后冗余空格:
git log -1 --pretty=format:%b | sed '/^[[:space:]]*$/d' | head -n 1 | xargs
方案2:直接读取被合并分支的提交信息
合并提交默认有两个父节点,HEAD^2对应被合并的源分支(mos-changes)的最新提交,直接读取该提交的标题即可得到目标内容:
git log -1 --pretty=format:%s HEAD^2
内容的提问来源于stack exchange,提问作者Peter Osta
相关产品推荐
相关产品推荐

