How do I show just the names and commit titles since a tag in Git?

风流意气都作罢 提交于 2019-12-09 04:03:46

问题


I'm trying to use tags for release management in Git—I create a tag for each release. I'd like to be able to create release notes by listing the comment titles for every commit since a tag, or between 2 tags. I can't seem to find any way to do this.


回答1:


If your tags are named LastRelease and NextRelease then do

git log --pretty=format:%s LastRelease..NextRelease .




回答2:


To show commits since TAG to current head:

git log TAG..HEAD

Between two commits:

git log TAG..TAG

For formatting the log output have a look at Pretty formats section of git log.




回答3:


You should look into git shortlog. Here's an example of the output:

$ git shortlog
Al Jones (512):
      Added to .gitignore file
      Updated user model

Bob Smith (222):
      Minor tweak to view
      Updated accounts controller

Charles West (321):
      Started specs for user model
      Finished specs for user model

For your case you would want to run git shortlog LastRelease..NextRelease




回答4:


I combined Dominic's and Igor's answers together to return the titles of all commits from 2b150c4 to the current HEAD in chronological order and prints it to Terminal (echo added because git log doesn't line break the last line).

git log --pretty=format:%s 2b150c4..HEAD --reverse | cat; echo



回答5:


In order to get detailed infos on commit with a certain (known) message, I firstly call git log --oneline for overview of commints with messeges and then by the identified SHA view the commit with git show <SHA> or git log --stat -p <SHA>



来源:https://stackoverflow.com/questions/2941567/how-do-i-show-just-the-names-and-commit-titles-since-a-tag-in-git

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!