mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-17 12:41:20 +08:00
243 lines
12 KiB
HTML
243 lines
12 KiB
HTML
<!doctype html>
|
|
<html lang="en" data-color-mode="dark">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Semver 备忘清单
|
|
& semver cheatsheet & Quick Reference</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta description="这个 semver 语义化版本快速参考备忘清单。为开发人员分享快速参考备忘单。">
|
|
<meta keywords="Quick,Reference,cheatsheet,semver">
|
|
<link rel="icon" href="data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%221em%22%20width%3D%221em%22%3E%20%3Cpath%20opacity%3D%22.4%22%20d%3D%22m21.66%2010.44-.98%204.18c-.84%203.61-2.5%205.07-5.62%204.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2%201.17-2.42%203.16-3.07%206.5-2.28l1.67.39c4.19.98%205.47%203.05%204.49%207.23Z%22%20fill%3D%22%23777%22%2F%3E%20%3Cpath%20d%3D%22M15.06%2019.39c-.62.42-1.4.77-2.35%201.08l-1.58.52c-3.97%201.28-6.06.21-7.35-3.76L2.5%2013.28c-1.28-3.97-.22-6.07%203.75-7.35l1.58-.52c.41-.13.8-.24%201.17-.31-.3.61-.54%201.35-.74%202.2l-.98%204.19c-.98%204.18.31%206.24%204.48%207.23l1.68.4c.58.14%201.12.23%201.62.27Zm2.43-8.88c-.06%200-.12-.01-.19-.02l-4.85-1.23a.75.75%200%200%201%20.37-1.45l4.85%201.23a.748.748%200%200%201-.18%201.47Z%22%20fill%3D%22%23999%22%20%2F%3E%20%3Cpath%20d%3D%22M14.56%2013.89c-.06%200-.12-.01-.19-.02l-2.91-.74a.75.75%200%200%201%20.37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z%22%20fill%3D%22%23999%22%20%2F%3E%20%3C%2Fsvg%3E" type="image/svg+xml">
|
|
<link rel="stylesheet" href="../style/style.css">
|
|
</head>
|
|
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
|
<path opacity=".4" d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="currentColor"></path>
|
|
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="currentColor"></path>
|
|
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="currentColor"></path>
|
|
</svg>
|
|
<span class="title">Quick Reference</span></a><div class="menu"><a href="https://github.com/jaywcjlove/reference/blob/main/docs/semver.md" class="" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap max-container"><header class="wrap-header h1wrap"><h1 id="semver-备忘清单"><a aria-hidden="true" tabindex="-1" href="#semver-备忘清单"><span class="icon icon-link"></span></a>Semver 备忘清单</h1><div class="wrap-body">
|
|
<p>这个 semver 语义化版本快速参考备忘清单。</p>
|
|
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="语义化版本标准"><a aria-hidden="true" tabindex="-1" href="#语义化版本标准"><span class="icon icon-link"></span></a>语义化版本标准</h2><div class="wrap-body">
|
|
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
|
<p><a href="http://semver.org/">Semver</a> 是一种语义版本控制规范。</p>
|
|
<ul>
|
|
<li><a href="http://semver.org/">语义版本控制规范文档</a> <em>(semver.org)</em></li>
|
|
<li><a href="https://docs.npmjs.com/cli/v6/using-npm/semver">npm 的语义版本器</a> <em>(npmjs.com)</em></li>
|
|
</ul>
|
|
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="semver"><a aria-hidden="true" tabindex="-1" href="#semver"><span class="icon icon-link"></span></a>Semver</h3><div class="wrap-body">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>-</th>
|
|
<th>-</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>主版本号(MAJOR)</code></td>
|
|
<td>当你做了不兼容的 API 修改</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>次版本号(MINOR)</code></td>
|
|
<td>当你做了向下兼容的功能性新增</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>修订号(PATCH)</code></td>
|
|
<td>当你做了向下兼容的问题修正</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="简单范围"><a aria-hidden="true" tabindex="-1" href="#简单范围"><span class="icon icon-link"></span></a>简单范围</h3><div class="wrap-body">
|
|
<pre><code class="code-highlight"><span class="code-line line-number" line="1"> 1.2.3
|
|
</span><span class="code-line line-number" line="2"> =1.2.3
|
|
</span><span class="code-line line-number" line="3"> >1.2.3
|
|
</span><span class="code-line line-number" line="4"> <1.2.3
|
|
</span><span class="code-line line-number" line="5">>=1.2.3
|
|
</span></code></pre>
|
|
<p>请注意,后缀版本(<code>1.2.3-rc1</code>)不匹配。</p>
|
|
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="范围"><a aria-hidden="true" tabindex="-1" href="#范围"><span class="icon icon-link"></span></a>范围</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
<th>Notes</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>~1.2.3</code></td>
|
|
<td>是 <code>>=1.2.3 <1.3.0</code></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>^1.2.3</code></td>
|
|
<td>是 <code>>=1.2.3 <2.0.0</code></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>^0.2.3</code></td>
|
|
<td>是 <code>>=0.2.3 <0.3.0</code></td>
|
|
<td>(0.x.x 是特殊的)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>^0.0.1</code></td>
|
|
<td>是 <code>=0.0.1</code></td>
|
|
<td>(0.0.x 是特殊的)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>^1.2</code></td>
|
|
<td>是 <code>>=1.2.0 <2.0.0</code></td>
|
|
<td>(像 ^1.2.0)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>~1.2</code></td>
|
|
<td>是 <code>>=1.2.0 <1.3.0</code></td>
|
|
<td>(像 ~1.2.0)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>^1</code></td>
|
|
<td>是 <code>>=1.0.0 <2.0.0</code></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>~1</code></td>
|
|
<td>相同的</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>1.x</code></td>
|
|
<td>相同的</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>1.*</code></td>
|
|
<td>相同的</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>1</code></td>
|
|
<td>相同的</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>*</code></td>
|
|
<td>任何版本</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>x</code></td>
|
|
<td>相同的</td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="连字符范围"><a aria-hidden="true" tabindex="-1" href="#连字符范围"><span class="icon icon-link"></span></a>连字符范围</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
|
<table class="show-header ">
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>1.2.3 - 2.3.4</code></td>
|
|
<td>是 <code>>=1.2.3 <=2.3.4</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table><!--rehype:className=show-header -->
|
|
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="部分向右"><a aria-hidden="true" tabindex="-1" href="#部分向右"><span class="icon icon-link"></span></a>部分向右</h4><div class="wrap-body">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>1.2.3 - 2.3</code></td>
|
|
<td>是 <code>>=1.2.3 <2.4.0</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>1.2.3 - 2</code></td>
|
|
<td>是 <code>>=1.2.3 <3.0.0</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="部分向左"><a aria-hidden="true" tabindex="-1" href="#部分向左"><span class="icon icon-link"></span></a>部分向左</h4><div class="wrap-body">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>1.2 - 2.3.0</code></td>
|
|
<td>是 <code>1.2.0 - 2.3.0</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>当右侧为部分(例如,<code>2.3</code>)时,假定缺失的部分为<code>x</code>(例如,<code> 2.3.x</code>)。</p>
|
|
<p>如果左边是部分的(例如,<code>1.2</code>),则假定缺少的部分为<code>0</code>(例如,<code> 1.2.0</code>)。</p>
|
|
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="组合范围"><a aria-hidden="true" tabindex="-1" href="#组合范围"><span class="icon icon-link"></span></a>组合范围</h3><div class="wrap-body">
|
|
<table class="show-header ">
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>>=0.14 <16</code></td>
|
|
<td>和 (空格分隔)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>0.14.x || 15.x.x</code></td>
|
|
<td>或 (双竖线分隔)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table><!--rehype:className=show-header -->
|
|
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="预发布"><a aria-hidden="true" tabindex="-1" href="#预发布"><span class="icon icon-link"></span></a>预发布</h3><div class="wrap-body">
|
|
<pre><code class="code-highlight"><span class="code-line line-number" line="1">1.2.3-prerelease+build
|
|
</span></code></pre>
|
|
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="解释"><a aria-hidden="true" tabindex="-1" href="#解释"><span class="icon icon-link"></span></a>解释</h3><div class="wrap-body">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>范围</th>
|
|
<th>描述</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>^</code></td>
|
|
<td>意思是“兼容”</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>~</code></td>
|
|
<td>意思是“相当接近”</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>0.x.x</code></td>
|
|
<td>用于“初始开发”</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>1.x.x</code></td>
|
|
<td>表示定义了公共 API</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
|
<ul>
|
|
<li><a href="https://regex101.com/r/vkijKf/1/">语义化版本号验证正则表达式,支持按编号提取的语言</a></li>
|
|
<li><a href="https://regex101.com/r/Ly7O1x/3/">语义化版本号验证正则表达式,支持按组名称提取的语言</a></li>
|
|
</ul>
|
|
|
|
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
|
</html>
|