Skip to content
This repository has been archived by the owner on May 3, 2022. It is now read-only.

How to contribute

axelsimon edited this page Aug 5, 2019 · 30 revisions

Contributing to the Enarx project

The Enarx project welcomes contributions!

You will find some information here that aims to make it easier for new comers to contribute.

Note: this page is a work in progress

Code

To contribute this Github repo, you will need to set up your environment. Here are a few pointers to help you do so.

On the Github side:

  • Ensure you have an SSH key set up. If you do not, you can generate one with the following command:
    • ssh-keygen -t ed25519 -C "$(whoami) on $(hostname), generated on $(date -I)" Then add it to your Github profile.
  • Fork the desired repo on github.com to your user. On a given repo, use the "fork" button at the top right.

On your local machine:

  • If you have not already done so, set your username and email:
  • git config --global user.name "your name"
  • git config --global user.email "[email protected]"
  • Clone your fork locally:
    • git clone https://github.com/<your_username>/<enarx_repo>
  • Add an "upstream" remote to your local git repo:
    • git remote add upstream https://github.com/enarx/<enarx_repo.git>
  • (To check the remote repositories: git remote -v)
  • Create a branch for your work:
    • git checkout -b <your_working_branch>
  • Make your changes, then add the changed files to the staging area:
    • git add <file> (or git add -a to take into account all modified files, including deletions)
  • Commit your changes:
    • git commit -m "commit message here"
  • Push your change:
    • git push

Then, on Github, find your branch and request a Pull Request, so that the code may be reviewed and, if all goes well, merged into the main code base.

Later, once changes have been made to the Enarx repo:

  • Sync the fork:
    • git fetch upstream
  • Ensure you are on your master branch:
    • git checkout master
  • Make sure your local master branch is up to date with the upstream (that any commits you've made that aren't already in upstream/master are replayed on top of that other branch):
    • git rebase upstream/master
  • go on to making changes again on your working branch, committing them etc..