forked from tj/git-extras
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgit-changelog.html
200 lines (142 loc) · 8.3 KB
/
git-changelog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' value='text/html;charset=utf8'>
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
<title>git-changelog(1) - Generate a changelog report</title>
<style type='text/css' media='all'>
/* style: man */
body#manpage {margin:0}
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
.mp h2 {margin:10px 0 0 0}
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
.mp h3 {margin:0 0 0 4ex}
.mp dt {margin:0;clear:left}
.mp dt.flush {float:left;width:8ex}
.mp dd {margin:0 0 0 9ex}
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
.mp pre {margin-bottom:20px}
.mp pre+h2,.mp pre+h3 {margin-top:22px}
.mp h2+pre,.mp h3+pre {margin-top:5px}
.mp img {display:block;margin:auto}
.mp h1.man-title {display:none}
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
.mp h2 {font-size:16px;line-height:1.25}
.mp h1 {font-size:20px;line-height:2}
.mp {text-align:justify;background:#fff}
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
.mp u {text-decoration:underline}
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
.mp b.man-ref {font-weight:normal;color:#434241}
.mp pre {padding:0 4ex}
.mp pre code {font-weight:normal;color:#434241}
.mp h2+pre,h3+pre {padding-left:0}
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
ol.man-decor {width:100%}
ol.man-decor li.tl {text-align:left}
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
ol.man-decor li.tr {text-align:right;float:right}
</style>
</head>
<!--
The following styles are deprecated and will be removed at some point:
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
.man-navigation should be used instead.
-->
<body id='manpage'>
<div class='mp' id='man'>
<div class='man-navigation' style='display:none'>
<a href="#NAME">NAME</a>
<a href="#SYNOPSIS">SYNOPSIS</a>
<a href="#DESCRIPTION">DESCRIPTION</a>
<a href="#OPTIONS">OPTIONS</a>
<a href="#EXAMPLES">EXAMPLES</a>
<a href="#AUTHOR">AUTHOR</a>
<a href="#REPORTING-BUGS">REPORTING BUGS</a>
<a href="#SEE-ALSO">SEE ALSO</a>
</div>
<ol class='man-decor man-head man head'>
<li class='tl'>git-changelog(1)</li>
<li class='tc'>Git Extras</li>
<li class='tr'>git-changelog(1)</li>
</ol>
<h2 id="NAME">NAME</h2>
<p class="man-name">
<code>git-changelog</code> - <span class="man-whatis">Generate a changelog report</span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<p><code>git-changelog</code> [options] [<file>]<br />
<code>git-changelog</code> {-h | --help | ?}</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p> Generates a changelog from <span class="man-ref">git<span class="s">(1)</span></span> tags (annotated or lightweight) and commit messages. Existing changelog files with filenames that begin with <em>Change</em> or <em>History</em> will be identified automatically with a case insensitive match pattern and existing content will be appended to the new output generated--this behavior can be disabled by specifying the prune option (-p|--prune-old). The generated file will be opened in <strong>$EDITOR</strong> when set.</p>
<p> If no tags exist, then all commits are output; if tags exist, then only the most-recent commits are output up to the last identified tag. This behavior can be changed by specifying one or both of the range options (-f|--final-tag and -s|--start-tag).</p>
<p> You could customize the changelog format via some git config options.</p>
<ul>
<li><p><code>git config changelog.format $format</code> controls the format of each commit. It will be passed as <code>git log --pretty=format:$format</code>. The default value is <code> * %s</code>.</p></li>
<li><p><code>git config changelog.mergeformat $format</code> is like changelog.format but only used when <code>--merges-only</code> is specified. The default value is <code>* %s%n%w(64,4,4)%b</code>.</p></li>
</ul>
<h2 id="OPTIONS">OPTIONS</h2>
<p> <file></p>
<p> The name of the output file. By default the new file will be <em>History.md</em> unless an existing changelog is detected in which case the existing file will be updated.</p>
<p> -a, --all</p>
<p> Retrieve all commits. Ignores -s|--start-tag/commit and -f|--final-tag options (if set).</p>
<p> -l, --list</p>
<p> Show commits in list format (without titles, dates).</p>
<p> -t, --tag</p>
<p> Specify a tag label to use for most-recent (untagged) commits.</p>
<p> -f, --final-tag</p>
<p> When specifying a range, the newest tag at which point commit retrieval will end. Commits will be returned from the very first commit until the final tag unless a start tag is also specified.</p>
<p> -s, --start-tag</p>
<p> When specifying a range, the oldest tag to retrieve commits from. Commits will be returned from the start tag to now unless a final tag is also specified.</p>
<p> --start-commit</p>
<p> Like the --start-tag but specify the oldest commit instead of tag. Note that the specified commit will be contained in the changelog.</p>
<p> -n, --no-merges</p>
<p> Filters out merge commits (commits with more than 1 parent) from generated changelog.</p>
<p> -m, --merges-only</p>
<p> Uses only merge commits (commits with more than 1 parent) for generated changelog. It also changes the default format to include the merge commit messages body, as on github the commits subject line only contains the branch name but no information about the content of the merge.</p>
<p> -p, --prune-old</p>
<p> Replace existing changelog entirely with newly generated content, thereby disabling the default behavior of appending the content of any detected changelog to the end of newly generated content.</p>
<p> -x, --stdout</p>
<p> Write output to stdout instead of to a new changelog file.</p>
<p> -h, --help, ?</p>
<p> Show a help message with basic usage information.</p>
<h2 id="EXAMPLES">EXAMPLES</h2>
<dl>
<dt>Updating existing file or creating a new <em>History.md</em> file with pretty formatted output:</dt><dd><p></p>
<p>$ git changelog</p></dd>
<dt>Listing commits from the current version:</dt><dd><p></p>
<p>$ git changelog --list</p></dd>
<dt>Listing a range of commits from 2.1.0 to now:</dt><dd><p></p>
<p>$ git changelog --list --start-tag 2.1.0</p></dd>
<dt>Listing a pretty formatted version of the same:</dt><dd><p></p>
<p>$ git changelog --start-tag 2.1.0</p></dd>
<dt>Listing a range of commits from initial commit to 2.1.0:</dt><dd><p></p>
<p>$ git changelog --list --final-tag 2.1.0</p></dd>
<dt>Listing a pretty formatted range of commits between 0.5.0 and 1.0.0:</dt><dd><p></p>
<p>$ git changelog --start-tag 0.5.0 --final-tag 1.0.0</p></dd>
<dt>Listing a pretty formatted range of commits between 0b97430 and 1.0.0:</dt><dd><p></p>
<p>$ git changelog --start-commit 0b97430 --final-tag 1.0.0</p></dd>
<dt>Specifying a file for output:</dt><dd><p></p>
<p>$ git changelog ChangeLog.md</p></dd>
<dt>And if an existing Changelog exists, replace its contents entirely:</dt><dd><p></p>
<p>$ git changelog --prune-old</p></dd>
</dl>
<h2 id="AUTHOR">AUTHOR</h2>
<p>Written by Mark Eissler <<a href="mailto:mark@mixtur.com" data-bare-link="true">mark@mixtur.com</a>></p>
<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
<p><<a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a>></p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<p><<a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a>></p>
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>June 2018</li>
<li class='tr'>git-changelog(1)</li>
</ol>
</div>
</body>
</html>