首先不要推送提交消息

时间:2017-11-29 12:05:00

标签: git

如何在分支上首先没有推送git commit消息?

假设我在一个分支上有3个提交" new_branch"

{{1}}

我想执行一个git命令只返回第一个提交消息而不是commit id。 感谢

1 个答案:

答案 0 :(得分:1)

如果new_branch已签出并且远程分支被标记为new_branch的上游分支(因为您从远程获取它或者在推送时标记为--set-upstream)这对你有用:

git show --quiet --pretty=%B $(git rev-list @{u}..HEAD | tail -n 1)`

@{u}引用上游分支,因此rev-list将为您提供本地分支中的所有提交,这些提交不在远程分支中。 tail -n 1仅为您提供最低(=最早)的那些。 git show将显示提交,其中--quiet隐藏差异,--pretty=%B仅打印该提交的提交消息。

如果未检出new_branch,您可以将HEAD替换为new_branch,将@{u}替换为对远程分支的引用(例如origin/new_branch)。如果未配置new_branch的上游,则后者也会有所帮助。