# Source Repository

___

This project uses [Git](http://git-scm.com/) to manage its source code. Instructions on Git use can be found at [http://git-scm.com/documentation](http://git-scm.com/documentation).

## Web Access

The following is a link to the online source repository.

* [https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;a=summary](https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;a=summary)


## Upstream for committers

Committers need to set the upstream endpoint to the Apache git (not github) repo address, e.g.,

    $ git remote add asf https://git-wip-us.apache.org/repos/asf/incubator-singa.git

Then you (committer) can push your code in this way,

    $ git push asf <local-branch>:<remote-branch>
