Skip to content
cerker edited this page Feb 10, 2012 · 6 revisions

You want to contribute? Great! Please follow the instructions on this page on how to do it…

Communicate your changes

Please discuss the bug fix, new feature or other change you intend to contribute by either creating an Issue or discussing it in the mailing list.

Fork the repository

To contribute your code, the first thing to do is to fork the original GitHub repository to your own GitHub account by clicking the fork button at https://github.com/akquinet/maven-latex-plugin.

Clone the forked repository

The forked repository is now part of your GitHub account’s list of repositories. Clone the GitHub repository by executing the following command on your command line:

$ git clone [email protected]:YOUR_USERNAME/maven-latex-plugin.git

Add original repository as remote

Your local repository has your fork on GitHub as a default remote repository (named origin). To be able to pull your changes to the original project repository at a later stage, you need to locally add the latter as an additional remote repository (named upstream):

$ cd maven-latex-plugin
$ git remote add upstream git://github.com/akquinet/maven-latex-plugin.git
$ git fetch upstream

The fetch command updates your fork with any changes that happened to the original repository in the meantime.

Create a branch

Create a topic branch for your new feature:

$ git checkout -b my_new_feature

Develop

Now comes the cool part: Develop your new feature. Write tests. Add and commit changes to your local branch:

$ git add ...
$ git commit ...

Push the branch

When you are finished, make sure there are no build errors and all the tests pass. Then, push your branch to your GitHub repository:

$ git push origin my_new_feature

Send pull request

In your web browser, navigate to your GitHub repository and switch to the branch containing your changes (here: my_new_feature). Press the Pull Request button and provide a title and comment. Check the Commits and Files Changed tabs to see if everything is right. Finally, press the Send Pull Request button and you are finished.

See also: Send Pull Requests