Hey there!๐
- You can solve questions put up by contributors (tag moderators in comment to assign an issue to you and mention the language you will be using).
- You can put up a problem yourself.
- You can even contribute a project made by yourself!
- Git and github crash course by TraversyMedia: Youtube
- Git and github for beginners by FreeCodeCamp: Youtube
- Git and github articles on atlassian.com: Website
First let's see when should you create an issue?
- If you want to contribute a question or project.
- If you have a better solution to an existing solved issue.
Click on the Issue button at top of the page:
Click new issue and fill up the details!
Note: Issues must clearly mention what they are addressing, if a problem is being put up then explain it using an example.
Note: One must read CODE_OF_CONDUCT before starting work on any issue
First things first, In order to contribute you have to create a Pull Request from your forked repo which is a remote clone of this upstream repository.
-
Click this button at the top of screen to fork this repo, don't forget to star the repository!:
-
Now head over to the forked repository and copy the clone HTTPS URL:
-
Next up clone the forked repo on to the local machine using:
git clone <copied-fork-link>
-
It is critical to keep your forked repository in sync the upstream repository so merge conflicts can be avoided:
git remote add upstream https://github.com/pratik-choudhari/AlgoCode.git git fetch upstream git pull upstream master git push
-
Create a seperate branch to work on:
The branch name must be selected according to the issue
git checkout -b <branch-name>
-
Contributors must follow the directory structure guidelines:
- All files must be kept in a directory.
- Directory name must resemble the issue assigned.
- Based on the language used, create a directory inside the language directory.
- Example: If I am writing in
Python
I will create a directory insidePython
directory. - In case a project is being contributed make sure to add the files inside a directory(name according to project) which in turn must be placed inside the
Projects
directory. - Changes done by you will not affect existing structure of the project.
- Add a README.md with your name and link to github profile using [your-name](link-to-profile)
-
After the contribution work is ready go ahead and add it to staging area:
git add -A
-
Now it is time to commit your changes and sync these changes to forked repo:
git commit -m <your_message>
git push origin <branch-name>
-
Issue a pull request from forked repo to this repo:
-
Wait for respose on the PR. Congratulations you just contributed to open source!
-
Get your name in CONTRIBUTORS.md!
incomplete: PR was not structured as mentioned in CODE_OF_CONDUCT, mising README, missing folder, etc.
early bird: PR was made even before creating an issue or PR was made by a person unassigned to the task.
starโจ: Star this repo!
Hi! I am Pratik Choudhari an undergrad student. Recently I have discovered my liking for open source since then I have been working diligently towards it and here I am with this repository๐.
Got something interesting to talk about? I would love to hear back from you!
Let's connect