blob: c673db641cb53e156875a200c8d48d2405252ea1 [file] [log] [blame]
<!DOCTYPE html>
<html lang="cn" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta name="generator" content="Hugo 0.70.0" />
<meta name="description" content="">
<meta name="buildDate" content="2021-04-06 18:15:05">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />
<title>贡献者指南 :: ShardingSphere</title>
<link href="https://shardingsphere.apache.org/community/css/nucleus.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/font-awesome.min.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/hybrid.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/featherlight.min.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/perfect-scrollbar.min.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/auto-complete.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/theme.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/hugo-theme.css?1617704105" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/theme-black.css?1617704105" rel="stylesheet">
<script src="https://shardingsphere.apache.org/community/js/jquery-2.x.min.js?1617704105"></script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/cn/contribute/contributor/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v2.png" /></a>
</div>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/cn/contribute/" title="参与和贡献" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/community/cn/contribute/">
<b>1. </b>参与和贡献
</a>
<ul>
<li data-nav-id="/cn/contribute/subscribe/" title="订阅指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/subscribe/">
订阅指南
</a>
</li>
<li data-nav-id="/cn/contribute/contributor/" title="贡献者指南" class="dd-item active">
<a href="https://shardingsphere.apache.org/community/cn/contribute/contributor/">
贡献者指南
</a>
</li>
<li data-nav-id="/cn/contribute/committer/" title="提交者指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/committer/">
提交者指南
</a>
</li>
<li data-nav-id="/cn/contribute/code-conduct/" title="开发规范" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/code-conduct/">
开发规范
</a>
</li>
<li data-nav-id="/cn/contribute/issue-conduct/" title="Issue 提交与处理规范" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/issue-conduct/">
Issue 提交与处理规范
</a>
</li>
<li data-nav-id="/cn/contribute/document-contributor/" title="官方文档贡献指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/document-contributor/">
官方文档贡献指南
</a>
</li>
<li data-nav-id="/cn/contribute/release/" title="ShardingSphere发布指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/release/">
ShardingSphere发布指南
</a>
</li>
<li data-nav-id="/cn/contribute/release_ui/" title="ShardingSphere-UI发布指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/release_ui/">
ShardingSphere-UI发布指南
</a>
</li>
<li data-nav-id="/cn/contribute/release-elasticjob/" title="ElasticJob发布指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/release-elasticjob/">
ElasticJob发布指南
</a>
</li>
<li data-nav-id="/cn/contribute/release-elasticjob-ui/" title="ElasticJob-UI发布指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/release-elasticjob-ui/">
ElasticJob-UI发布指南
</a>
</li>
<li data-nav-id="/cn/contribute/2fa/" title="2FA" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/2fa/">
2FA
</a>
</li>
<li data-nav-id="/cn/contribute/icla/" title="签署iCLA指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/icla/">
签署iCLA指南
</a>
</li>
<li data-nav-id="/cn/contribute/vote/" title="提交者选举流程指南" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/cn/contribute/vote/">
提交者选举流程指南
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/powered-by/" title="采用公司" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/cn/powered-by/">
<b>2. </b>采用公司
</a>
</li>
<li data-nav-id="/cn/team/" title="团队" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/cn/team/">
<b>3. </b>团队
</a>
</li>
<li data-nav-id="/cn/security/" title="安全" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/cn/security/">
<b>4. </b>安全
</a>
</li>
</ul>
<section id="prefooter">
<hr/>
<ul>
<li>
<a class="padding">
<i class="fa fa-fw fa-language"></i>
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="en" value="/community/en/contribute/contributor/">English</option>
<option id="cn" value="/community/cn/contribute/contributor/" selected>简体中文</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</li>
</ul>
</section>
<section id="footer">
<p></p>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/apache/shardingsphere/tree/master/docs/community/content/contribute/contributor.cn.md" target="blank">
<i class="fa fa-code-fork"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span class="links">
<a href='https://shardingsphere.apache.org/community/cn/'>ShardingSphere</a> > <a href='https://shardingsphere.apache.org/community/cn/contribute/'>参与和贡献</a> > 贡献者指南
</span>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<p>您可以报告bug,提交一个新的功能增强建议或者直接对以上内容提交改进补丁。</p>
<h2 id="提交issue">提交issue</h2>
<ul>
<li>在提交issue之前,请经过充分的搜索,确定该issue不是通过简单的检索即可以解决的问题。</li>
<li>查看<a href="https://github.com/apache/shardingsphere/issues">issue列表</a>,确定该issue不是一个重复的问题。</li>
<li><a href="https://github.com/apache/shardingsphere/issues/new/choose">新建</a>一个issue并选择您的issue类型。</li>
<li>使用一个清晰并有描述性的标题来定义issue。</li>
<li>根据模板填写必要信息。</li>
<li>在提交issue之后,对该issue分配合适的标签。如:bug,enhancement,discussion等。</li>
<li>请对自己提交的issue保持关注,在讨论中进一步提供必要信息。</li>
</ul>
<h2 id="开发流程">开发流程</h2>
<p><strong>1. Fork分支到本地,设置upstream</strong></p>
<ul>
<li>从shardingsphere的repo上fork一个分支到您自己的repo来开始工作,并设置upstream为shardingsphere的repo。</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git remote add upstream https://github.com/apache/shardingsphere.git
</code></pre></div><p><strong>2. 选择issue</strong></p>
<ul>
<li>请在选择您要修改的issue。如果是您新发现的问题或想提供issue中没有的功能增强,请先新建一个issue并设置正确的标签。</li>
<li>在选中相关的issue之后,请回复以表明您当前正在这个issue上工作。并在回复的时候为自己设置一个deadline,添加至回复内容中。</li>
<li><a href="https://shardingsphere.apache.org/community/cn/contribute/contributor/">开发者列表</a>中找到一个导师,导师会在设计与功能实现上给予即时的反馈。</li>
</ul>
<p><strong>3. 创建分支</strong></p>
<ul>
<li>切换到fork的master分支,拉取最新代码,创建本次的分支。</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git checkout master
git pull upstream master
git checkout -b issueNo
</code></pre></div><p><strong>注意</strong> :PR会按照squash的方式进行merge,如果不创建新分支,本地和远程的提交记录将不能保持同步。</p>
<p><strong>4. 编码</strong></p>
<ul>
<li>请您在开发过程中遵循ShardingSphere的<a href="https://shardingsphere.apache.org/community/cn/contribute/code-conduct/">开发规范</a>。并在准备提交pull request之前完成相应的检查。</li>
<li>将修改的代码push到fork库的分支上。</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git add 修改代码
git commit -m <span style="color:#e6db74">&#39;commit log&#39;</span>
git push origin issueNo
</code></pre></div><p><strong>5. 提交PR</strong></p>
<ul>
<li>发送一个pull request到ShardingSphere的master分支。</li>
<li>接着导师做CodeReview,然后他会与您讨论一些细节(包括设计,实现,性能等)。当导师对本次修改满意后,会将提交合并到当前开发版本的分支中。</li>
<li>最后,恭喜您已经成为了ShardingSphere的官方贡献者!</li>
</ul>
<p><strong>6. 删除分支</strong></p>
<ul>
<li>在导师将pull request合并到ShardingSphere的master分支中之后,您就可以将远程的分支(origin/issueNo)及与远程分支(origin/issueNo)关联的本地分支(issueNo)删除。</li>
</ul>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git checkout master
git branch -d issueNo
git push origin --delete issueNo
</code></pre></div><p><strong>注意</strong>: 为了让您的id显示在contributor列表中,别忘了以下设置:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git config --global user.name <span style="color:#e6db74">&#34;username&#34;</span>
git config --global user.email <span style="color:#e6db74">&#34;username@mail.com&#34;</span>
</code></pre></div>
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation">
<a class="nav nav-prev" href="https://shardingsphere.apache.org/community/cn/contribute/subscribe/" title="订阅指南"> <i class="fa fa-chevron-left"></i></a>
<a class="nav nav-next" href="https://shardingsphere.apache.org/community/cn/contribute/committer/" title="提交者指南" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://shardingsphere.apache.org/community/js/clipboard.min.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.min.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.jquery.min.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/jquery.sticky.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/featherlight.min.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/html5shiv-printshiv.min.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/highlight.pack.js?1617704105"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/community/js/modernizr.custom.71422.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/learn.js?1617704105"></script>
<script src="https://shardingsphere.apache.org/community/js/hugo-learn.js?1617704105"></script>
</body>
</html>