Bash 当多个提交被推到一起时,如何获取第一个提交消息
我正在尝试编写一个预接收钩子脚本,将git提交与jira id链接起来。我想验证第一次提交(将成为拉请求的标题)是否遵循指定的regex for commit消息。 你能帮我在拉请求中获得提交序列中第一次提交的提交消息吗 我在我的分支机构中遵循以下步骤:Bash 当多个提交被推到一起时,如何获取第一个提交消息,bash,github,git-commit,git-log,github-enterprise,Bash,Github,Git Commit,Git Log,Github Enterprise,我正在尝试编写一个预接收钩子脚本,将git提交与jira id链接起来。我想验证第一次提交(将成为拉请求的标题)是否遵循指定的regex for commit消息。 你能帮我在拉请求中获得提交序列中第一次提交的提交消息吗 我在我的分支机构中遵循以下步骤: git add file1 git commit -m 'JIRA-123 Adding file1' git add file2 git commit -m 'Adding file2' git push origin master 现在,
git add file1
git commit -m 'JIRA-123 Adding file1'
git add file2
git commit -m 'Adding file2'
git push origin master
现在,我可以使用下面的命令获取特定于推送的最后一条提交消息
git log --max-count=1 --format=%B
输出:添加文件2
但我希望输出是第一个提交消息-
JIRA-123添加文件1
您能告诉我是否有办法使用git log
或git reflog
提前谢谢 使用修订范围,如
修订参数的后缀~表示
是命名提交对象的第四代祖先,
只跟随第一个父母
通用方式
一般来说,git不知道您将在PR中包含多少提交。因此,很难为您的PR选择合适的提交消息。因此,您可以使用它的
比如说,git commit-m'JIRA-123 Adding file1'
返回的结果如下:
$git commit-m'JIRA-123添加文件1'
>[master de56f51]JIRA-123添加文件1
>1个文件已更改,0个插入(+),0个删除(-)
de56f51
-SHA1是该提交的成员吗
因此,您可以使用git show获得该提交的注释:
$git show de56f51--相当=%B--无修补程序
>JIRA-123添加文件1
更具体的方式
如果您每个PR有两次提交
如果您确定提交的计数等于2,则可以使用前面的答案:
git日志--最大计数=1--格式=%B头~1
如果您每天没有超过一个PR
如果您每天没有超过一个PR,那么您可以使用
git日志--自=昨天--最大计数=1--格式=%B
它将显示今天第一次提交的评论
git log HEAD~1