# Contribute to PaddlePaddle We sincerely appreciate your contributions. You can use fork and pull request workflow to merge your code. ## Code Requirements - Your code mush be fully documented by [doxygen](http://www.stack.nl/~dimitri/doxygen/) style. - Make sure the compiler option WITH\_STYLE\_CHECK is on and the compiler passes the code style check. - All code must have unit test. - Pass all unit tests. The following tutorial guides you into submitting your contibution. ## [Creating a Fork](https://help.github.com/articles/fork-a-repo/) Just head over to the GitHub page and click the "Fork" button. It's just that simple. ## Clone Once you've created a fork, you can use your favorite git client to clone your repo or just head straight to the command line: ```shell # Clone your fork to your local machine git clone git@github.com:USERNAME/Paddle.git ``` Then you can start to develop. ## Commit Commit your changes by following command lines: ```shell # show the working tree status git status # add modified files git add xx git commit -m "commit info" ``` The first line of commit infomation is the title. The second and later lines are the details if any. ## Keeping Fork Up to Date Before pull your request, you shold sync you code from the latest PaddlePaddle. To do this, you'll need to add a remote at first: ```shell # see the current configured remote repository git remote -v # add upstream repository git remote add upstream https://github.com/baidu/Paddle.git # verify the new upstream git remote -v ``` Update your fork with the latest upstream changes: ```shell git fetch upstream git pull upstream master ``` If there are no unique commits locally, git will simply perform a fast-forward. However, if you have been making changes (in the vast majority of cases you probably shouldn't be), you may have to deal with conflicts. Now, your local master branch is up-to-date with everything modified upstream. ## Push to GitHub ```shell # push to your repository in Github git push origin master ``` ## Pull Request Go to the page for your fork on GitHub, select your development branch, and click the **pull request button**.