我正在尝试获取涉及特定文件的特定分支中最新提交的提交消息。
给出分支B和文件F,我认为这可以工作:
git show --pretty=format:%b B:F
但这会忽略%b格式,仅显示文件F的内容。
我用“ log”替换了“ show”,但随后什么也不显示。
我知道我可以做到:
git log -1 --pretty=format:%b SHA
但这需要SHA,我不知道该怎么获得。
答案 0 :(得分:1)
如果您按照第一句话中的说明进行搜索,
«触及特定文件的特定分支中最新提交的提交消息»
然后
git log -1 --pretty=format:'%b' <branch> -- path/to/file
似乎要走的路。
然后,根据phd的建议,您可以考虑单独使用完整提交消息(%B
)而不是正文(%b
)。实际上,如果提交仅包含一行消息(例如,如果您仅执行git commit -m "short message"
),则%s
(主题)将包含该消息,而%b
为空。
答案 1 :(得分:0)
此脚本将为您打印出所有分支(由于-a
标志而远程)以及最后的提交日期,用户和消息
git fetch --all &&
for branch in `git branch -r | grep -v HEAD`;
do echo -e `git show --format="%ci %cr [%s]" $branch | head -n 1` \\t$branch;
done | sort -r