This documentation contains a set of guidelines to help you during the contribution process. We are happy to welcome all the contributions from anyone willing to improve/add new scripts to this project. Thank you for helping out and remember, no contribution is too small.
Below you will find the process and workflow used to review and merge your changes.
- Take a look at the Existing Issues or create your own Issues!
- Wait for the Issue to be assigned to you after which you can start working on it.
- Note : Every change in this project should/must have an associated issue.
- Fork this Repository. This will create a Local Copy of this Repository on your Github Profile. Keep a reference to the original project in
upstream
remote.
$ git clone https://github.com/<your-username>/Recess
$ cd Recess
$ git remote add upstream https://github.com/avinashkranjan/Recess
- If you have already forked the project, update your copy before working.
$ git remote update
$ git checkout <branch-name>
$ git rebase upstream/<branch-name>
Create a new branch. Use its name to identify the issue your addressing.
# It will create a new branch with name Branch_Name and switch to that branch
$ git checkout -b branch_name
- Work on the issue(s) assigned to you.
- Add all the files/folders needed.
- After you've made changes or made your contribution to the project add changes to the branch you've just created by:
# To add all new files to branch Branch_Name
$ git add .
- To commit give a descriptive message for the convenience of reviewer by:
# This message get associated with all files you have changed
$ git commit -m 'message
- NOTE: A PR should have only one commit. Multiple commits should be squashed.
- Now you are ready to your work to the remote repository.
- When your work is ready and complies with the project conventions, upload your changes to your fork:
# To push your work to your remote repository
$ git push -u origin Branch_Name
-
Go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your contribution.
-
Voila! Your Pull Request has been submitted and will be reviewed by the moderators and merged.🥳
It can happen that your feature takes time to complete and other contributors are constantly pushing code. After completing the feature your feature branch should be rebase on latest changes to upstream master branch.
$ git checkout <feature-branch>
$ git pull --rebase upstream master
Now you get the latest commits from other contributors and check that your commits are compatible with the new commits. If there are any conflicts solve them.
You have completed the feature, but you have made a number of commits which make less sense. You should squash your commits to make good commits.
$ git rebase -i HEAD~5
This will open an editor which will allow you to squash the commits.
You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, in case you are stuck:
- Forking a Repo
- Cloning a Repo
- How to create a Pull Request
- Getting started with Git and GitHub
- Learn GitHub from Scratch
It always takes time to understand and learn. So, do not worry at all. We know you have got this!💪