|
| 1 | +# Contributing Guidelines |
| 2 | + |
| 3 | +This documentation contains a set of guidelines to help you during the contribution process. |
| 4 | +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, |
| 5 | +**no contribution is too small.** |
| 6 | + |
| 7 | +# Submitting Contributions👩💻👨💻 |
| 8 | +Below you will find the process and workflow used to review and merge your changes. |
| 9 | + |
| 10 | +## Step 1 : Find an issue |
| 11 | +- Take a look at the Existing Issues or create your **own** Issues! |
| 12 | +- Wait for the Issue to be assigned to you after which you can start working on it. |
| 13 | +- Note : Every change in this project should/must have an associated issue. |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +## Step 2 : Fork the Project |
| 18 | +- 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. |
| 19 | +``` |
| 20 | +$ git clone https://github.com/<your-username>/sort_it |
| 21 | +$ cd sort_it |
| 22 | +$ git remote add upstream https://github.com/Lakhankumawat/sort_it |
| 23 | +``` |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | +- If you have already forked the project, update your copy before working. |
| 28 | +``` |
| 29 | +$ git remote update |
| 30 | +$ git checkout <branch-name> |
| 31 | +$ git rebase upstream/<branch-name> |
| 32 | +``` |
| 33 | +## Step 3 : Branch |
| 34 | +Create a new branch. Use its name to identify the issue your addressing. |
| 35 | +``` |
| 36 | +# It will create a new branch with name Branch_Name and switch to that branch |
| 37 | +$ git checkout -b branch_name |
| 38 | +``` |
| 39 | +## Step 4 : Work on the issue assigned |
| 40 | +- Work on the issue(s) assigned to you. |
| 41 | +- Add all the files/folders needed. |
| 42 | +- After you've made changes or made your contribution to the project add changes to the branch you've just created by: |
| 43 | +``` |
| 44 | +# To add all new files to branch Branch_Name |
| 45 | +$ git add . |
| 46 | +``` |
| 47 | +## Step 5 : Commit |
| 48 | + |
| 49 | + 🎀🎀Before submitting an issue please find the correct folder where your program will go , You can discuss about it in the discussion. |
| 50 | + |
| 51 | +- To commit give a descriptive message for the convenience of reveiwer by: |
| 52 | +``` |
| 53 | +# This message get associated with all files you have changed |
| 54 | +$ git commit -m "message" |
| 55 | +``` |
| 56 | +- **NOTE**: A PR should have only one commit. Multiple commits should be squashed. |
| 57 | +## Step 6 : Work Remotely |
| 58 | +- Now you are ready to your work to the remote repository. |
| 59 | +- When your work is ready and complies with the project conventions, upload your changes to your fork: |
| 60 | + |
| 61 | +``` |
| 62 | +# To push your work to your remote repository |
| 63 | +$ git push -u origin Branch_Name |
| 64 | +``` |
| 65 | + |
| 66 | +## Step 7 : Pull Request |
| 67 | +- 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. |
| 68 | + |
| 69 | +- Voila! Your Pull Request has been submitted and will be reviewed by the moderators and merged.🥳 |
| 70 | + |
| 71 | +## 🌟Productivity Hacks |
| 72 | +1. pubspec dependencies must be sorted alphabetically. |
| 73 | +2. simple one liner names for folders and files until it's not an inbuilt library. |
| 74 | +3. Do not use setstate , first see what is `getit` and ask doubts but never use setstate. |
| 75 | +4. Do not Use MediaQuery for size use plugin `screen util`. |
| 76 | +5. Do not make your custom styles instead add them in constants if exceptional otherwise most probably use heading. |
| 77 | +6. For Designers color styling for app must be derived from some specific constants instead of assigning color itself. |
| 78 | +7. and instead of smashing all of code in one file divide it into components. |
| 79 | + |
| 80 | +## Need more help?🤔 |
| 81 | +You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, in case you are stuck: |
| 82 | +- [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) |
| 83 | +- [Cloning a Repo](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request) |
| 84 | +- [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github) |
| 85 | +- [Getting started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6) |
| 86 | +- [Learn GitHub from Scratch](https://lab.github.com/githubtraining/introduction-to-github) |
| 87 | + |
| 88 | + |
| 89 | +## Tip from us😇 |
| 90 | +It always takes time to understand and learn. So, do not worry at all. We know **you have got this**!💪 |
0 commit comments