


<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>源代码库 &mdash; singa 2.0.0 documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript">
          var DOCUMENTATION_OPTIONS = {
              URL_ROOT:'../',
              VERSION:'2.0.0',
              LANGUAGE:'None',
              COLLAPSE_INDEX:false,
              FILE_SUFFIX:'.html',
              HAS_SOURCE:  true,
              SOURCELINK_SUFFIX: '.txt'
          };
      </script>
        <script type="text/javascript" src="../_static/jquery.js"></script>
        <script type="text/javascript" src="../_static/underscore.js"></script>
        <script type="text/javascript" src="../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="项目邮件列表" href="mail-lists.html" />
    <link rel="prev" title="如何贡献代码" href="../develop/contribute-code.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
  integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
  .fa:hover {
    opacity: 0.7;
  }

  .fab:hover {
    opacity: 0.7;
  }
</style>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home"> singa
          

          
            
            <img src="../_static/singa.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
              <div class="version">
                latest
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
</ul>
<p class="caption"><span class="caption-text">开发</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">开发时间表</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">如何贡献给 SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">如何贡献代码</a></li>
</ul>
<p class="caption"><span class="caption-text">社区</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">源代码库</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#web">Web 访问</a></li>
<li class="toctree-l2"><a class="reference internal" href="#upstream">提交者的上游 Upstream</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mail-lists.html">项目邮件列表</a></li>
<li class="toctree-l1"><a class="reference internal" href="issue-tracking.html">问题追踪</a></li>
<li class="toctree-l1"><a class="reference internal" href="team-list.html">SINGA团队</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">singa</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html">Docs</a> &raquo;</li>
        
      <li>源代码库</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
--><div class="section" id="id1">
<h1>源代码库<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
<hr class="docutils" />
<p>该项目使用 <a class="reference external" href="http://git-scm.com/">Git</a> 来管理其源代码. 有关 Git 的使用说明，请访问 <a class="reference external" href="http://git-scm.com/documentation">http://git-scm.com/documentation</a>.</p>
<div class="section" id="web">
<h2>Web 访问<a class="headerlink" href="#web" title="Permalink to this headline">¶</a></h2>
<p>以下是指向在线源代码库的链接.</p>
<ul class="simple">
<li><a class="reference external" href="https://git-wip-us.apache.org/repos/asf?p=singa.git%3Ba=summary">https://git-wip-us.apache.org/repos/asf?p=singa.git;a=summary</a></li>
</ul>
</div>
<div class="section" id="upstream">
<h2>提交者的上游 Upstream<a class="headerlink" href="#upstream" title="Permalink to this headline">¶</a></h2>
<p>提交者需要将上游 upstream 端点设置为 Apache git（而不是github）的 repo 地址, 例如,</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ git remote add asf https://git-wip-us.apache.org/repos/asf/singa.git
</pre></div>
</div>
<p>然后你（提交者）可以用这种方式推送你的代码,</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ git push asf &lt;local-branch&gt;:&lt;remote-branch&gt;
</pre></div>
</div>
</div>
</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="mail-lists.html" class="btn btn-neutral float-right" title="项目邮件列表" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../develop/contribute-code.html" class="btn btn-neutral float-left" title="如何贡献代码" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  

<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
  <span class="rst-current-version" data-toggle="rst-current-version">
    <span class="fa fa-book"> singa </span>
    v: latest
    <span class="fa fa-caret-down"></span>
  </span>
  <div class="rst-other-versions">
    <dl>
      <dt>Languages</dt>
      <dd><a href="../../index.html">English</a></dd>
      <dd><a href=".././index.html">中文</a></dd>
    </dl>
    <dl>
      <dt>Versions</dt>
      <dd><a href="http://singa.apache.org/v0.3.0/">0.3</a></dd>
      <dd><a href="http://singa.apache.org/v1.1.0/">1.1</a></dd>
    </dl>

  </div>
  <a href="http://www.apache.org"
    style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
  <a href="http://www.apache.org/events/current-event"
    style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
  <a href="http://www.apache.org/foundation/thanks.html"
    style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
  <a href="http://www.apache.org/foundation/sponsorship.html"
    style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
  <a href="http://www.apache.org/licenses/"
    style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
  <br>
  <a href="https://github.com/apache/singa" class="fa fa-github"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://www.linkedin.com/groups/13550034" class="fa fa-linkedin"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://twitter.com/ApacheSinga" class="fa fa-twitter"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://www.facebook.com/Apache-SINGA-347284219056544/" class="fa fa-facebook"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
  <a href="https://www.researchgate.net/project/Apache-SINGA" class="fab fa-researchgate"
    style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>

</div>

<a href="https://github.com/apache/singa">
  <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
    src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub">
</a>

 


</body>
</html>