Git log with version numbers
I'm trying to generate a readme file which looks as following:
not released yet
30c9474 myname 2018-08-23 Feature 1337
v1.0.76
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
v1.0.75
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
v1.0.74
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
this is how I generate my readmefile with jenkins currently:
node('master') {
def artifactConfig = [
version: '1.0.'+env.BUILD_NUMBER,
]
try {
// ######################################## Commit stage ######################################
stage('Create Changelog stage') {
// needs to be checked out again, because by default on master the sources are checkout out to ${WORKSPACE}@script in scripted pipeline
checkout scm
// the Changelog will be created here
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%d%h%x09%an%x09%ad%x09%s" --date=short --all | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
sh 'git config --global --unset-all core.editor && git config --global core.editor $(which vim)'
sh 'git add releasenotes.md &&' +
'git tag -a version/' + artifactConfig.version + ' -m "Version version/' + artifactConfig.version + ' created" &&' +
'git commit -C HEAD --amend --no-edit &&' +
'git push -f origin version/' + artifactConfig.version
}
} catch (exception) {
currentBuild.result = 'FAILED'
throw exception
}
}
That creates a readme file in a versioned branch.
My problem is that I don't know how I can put that file together as my example. All I figured out is how to generate a readme file like:
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
Edit:
This is how my network graph looks like:

With the help of jthill I changed my git log line to this:
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
but the result looks like this now:
(not released yet)
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
which looks better, but it's still not what I needed.
git jenkins logging
add a comment |
I'm trying to generate a readme file which looks as following:
not released yet
30c9474 myname 2018-08-23 Feature 1337
v1.0.76
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
v1.0.75
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
v1.0.74
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
this is how I generate my readmefile with jenkins currently:
node('master') {
def artifactConfig = [
version: '1.0.'+env.BUILD_NUMBER,
]
try {
// ######################################## Commit stage ######################################
stage('Create Changelog stage') {
// needs to be checked out again, because by default on master the sources are checkout out to ${WORKSPACE}@script in scripted pipeline
checkout scm
// the Changelog will be created here
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%d%h%x09%an%x09%ad%x09%s" --date=short --all | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
sh 'git config --global --unset-all core.editor && git config --global core.editor $(which vim)'
sh 'git add releasenotes.md &&' +
'git tag -a version/' + artifactConfig.version + ' -m "Version version/' + artifactConfig.version + ' created" &&' +
'git commit -C HEAD --amend --no-edit &&' +
'git push -f origin version/' + artifactConfig.version
}
} catch (exception) {
currentBuild.result = 'FAILED'
throw exception
}
}
That creates a readme file in a versioned branch.
My problem is that I don't know how I can put that file together as my example. All I figured out is how to generate a readme file like:
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
Edit:
This is how my network graph looks like:

With the help of jthill I changed my git log line to this:
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
but the result looks like this now:
(not released yet)
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
which looks better, but it's still not what I needed.
git jenkins logging
add a comment |
I'm trying to generate a readme file which looks as following:
not released yet
30c9474 myname 2018-08-23 Feature 1337
v1.0.76
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
v1.0.75
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
v1.0.74
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
this is how I generate my readmefile with jenkins currently:
node('master') {
def artifactConfig = [
version: '1.0.'+env.BUILD_NUMBER,
]
try {
// ######################################## Commit stage ######################################
stage('Create Changelog stage') {
// needs to be checked out again, because by default on master the sources are checkout out to ${WORKSPACE}@script in scripted pipeline
checkout scm
// the Changelog will be created here
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%d%h%x09%an%x09%ad%x09%s" --date=short --all | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
sh 'git config --global --unset-all core.editor && git config --global core.editor $(which vim)'
sh 'git add releasenotes.md &&' +
'git tag -a version/' + artifactConfig.version + ' -m "Version version/' + artifactConfig.version + ' created" &&' +
'git commit -C HEAD --amend --no-edit &&' +
'git push -f origin version/' + artifactConfig.version
}
} catch (exception) {
currentBuild.result = 'FAILED'
throw exception
}
}
That creates a readme file in a versioned branch.
My problem is that I don't know how I can put that file together as my example. All I figured out is how to generate a readme file like:
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
Edit:
This is how my network graph looks like:

With the help of jthill I changed my git log line to this:
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
but the result looks like this now:
(not released yet)
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
which looks better, but it's still not what I needed.
git jenkins logging
I'm trying to generate a readme file which looks as following:
not released yet
30c9474 myname 2018-08-23 Feature 1337
v1.0.76
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
v1.0.75
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
v1.0.74
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
this is how I generate my readmefile with jenkins currently:
node('master') {
def artifactConfig = [
version: '1.0.'+env.BUILD_NUMBER,
]
try {
// ######################################## Commit stage ######################################
stage('Create Changelog stage') {
// needs to be checked out again, because by default on master the sources are checkout out to ${WORKSPACE}@script in scripted pipeline
checkout scm
// the Changelog will be created here
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%d%h%x09%an%x09%ad%x09%s" --date=short --all | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
sh 'git config --global --unset-all core.editor && git config --global core.editor $(which vim)'
sh 'git add releasenotes.md &&' +
'git tag -a version/' + artifactConfig.version + ' -m "Version version/' + artifactConfig.version + ' created" &&' +
'git commit -C HEAD --amend --no-edit &&' +
'git push -f origin version/' + artifactConfig.version
}
} catch (exception) {
currentBuild.result = 'FAILED'
throw exception
}
}
That creates a readme file in a versioned branch.
My problem is that I don't know how I can put that file together as my example. All I figured out is how to generate a readme file like:
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
Edit:
This is how my network graph looks like:

With the help of jthill I changed my git log line to this:
sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ *([^)]*)/\n&\n/;1i (not released yet)" > releasenotes.md'
but the result looks like this now:
(not released yet)
30c9474 myname 2018-08-23 Feature 1337
420368f myname 2018-08-22 Changed Jenkinsfile.groovy again
be05539 myname 2018-08-16 Feature 2833
838c158 myname 2018-08-16 Fixed bug 9128
6fa061a myname 2018-08-14 Feature 8832
21903f2 myname 2018-08-11 Some stuff
57f1a2f myname 2018-08-05 Changed Jenkinsfile.groovy
which looks better, but it's still not what I needed.
git jenkins logging
git jenkins logging
edited Nov 26 '18 at 15:36
DerKnecht
asked Sep 11 '18 at 11:51
DerKnechtDerKnecht
137112
137112
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can get the data you need in the sequence you need with
git log --date=short --pretty='%d%h %an %ad %s'
from there it's straight text munging with your favorite tool. If you don't need it too pretty, piping it through
sed 's/^ *([^)]*)/n&n/;1i (not released yet)'
will do.
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing thenescape processing beforesedsees it.
– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be--all --since=your base commit's date.
– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52275247%2fgit-log-with-version-numbers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can get the data you need in the sequence you need with
git log --date=short --pretty='%d%h %an %ad %s'
from there it's straight text munging with your favorite tool. If you don't need it too pretty, piping it through
sed 's/^ *([^)]*)/n&n/;1i (not released yet)'
will do.
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing thenescape processing beforesedsees it.
– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be--all --since=your base commit's date.
– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
|
show 1 more comment
You can get the data you need in the sequence you need with
git log --date=short --pretty='%d%h %an %ad %s'
from there it's straight text munging with your favorite tool. If you don't need it too pretty, piping it through
sed 's/^ *([^)]*)/n&n/;1i (not released yet)'
will do.
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing thenescape processing beforesedsees it.
– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be--all --since=your base commit's date.
– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
|
show 1 more comment
You can get the data you need in the sequence you need with
git log --date=short --pretty='%d%h %an %ad %s'
from there it's straight text munging with your favorite tool. If you don't need it too pretty, piping it through
sed 's/^ *([^)]*)/n&n/;1i (not released yet)'
will do.
You can get the data you need in the sequence you need with
git log --date=short --pretty='%d%h %an %ad %s'
from there it's straight text munging with your favorite tool. If you don't need it too pretty, piping it through
sed 's/^ *([^)]*)/n&n/;1i (not released yet)'
will do.
answered Sep 11 '18 at 15:36
jthilljthill
28k34578
28k34578
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing thenescape processing beforesedsees it.
– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be--all --since=your base commit's date.
– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
|
show 1 more comment
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing thenescape processing beforesedsees it.
– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be--all --since=your base commit's date.
– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
Thank you for your answer. I tried to use it as following: sh 'git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%h%x09%an%x09%ad%x09%s" --date=short | sed "s/^ ([^)])/n&n/;1i (not released yet)" > releasenotes.md' --- But Jenkins says:sed: -e expression #1, char 13: unterminated `s' command
– DerKnecht
Sep 12 '18 at 12:59
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing the
n escape processing before sed sees it.– jthill
Sep 12 '18 at 14:52
I'd use single quotes or double the backslashes, the 13th char is the first backslash and it looks as if something's doing the
n escape processing before sed sees it.– jthill
Sep 12 '18 at 14:52
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Thank you! That helped but I fear the result is not what I expected. I edited my question to provide some more information.
– DerKnecht
Sep 12 '18 at 15:50
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,
HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be --all --since= your base commit's date.– jthill
Sep 12 '18 at 16:39
Since you've got your candidate tags on side branches your log command won't list them at all since they're not in any listed tip's (you've listed only, you're only searching back from,
HEAD) ancestry. Tell log to also look at the candidate tags you're interested in, brute force would be --all --since= your base commit's date.– jthill
Sep 12 '18 at 16:39
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
When I add --all, then the side branches are included but everything is still listed under "(not released yet)". I do not understand what sed 's/^ ([^)])/n&n/;1i (not released yet)' does.
– DerKnecht
Sep 13 '18 at 11:42
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52275247%2fgit-log-with-version-numbers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown