This documentation aims to simplify and guide the way beginners make their first contribution. If you are looking to make your first contribution, follow the steps below.
<imgalign="right"width="300"src="https://user-images.githubusercontent.com/68538660/106238740-67a62b80-61cf-11eb-9892-6a0877a80fbf.png"alt="fork this repository"/>
#### If you don't have git on your machine, [install it](https://help.github.com/articles/set-up-git/).
## Fork this repository
Fork this repository by clicking on the fork button on the top of this page.
This will create a copy of this repository in your account.
## Clone the repository
<imgalign="right"width="300"src="https://firstcontributions.github.io/assets/Readme/clone.png"alt="clone this repository"/>
Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon.
Open a terminal and run the following git command:
```
git clone "url you just copied"
```
where "url you just copied" (without the quotation marks) is the url to this repository (your fork of this project). See the previous steps to obtain the url.
<imgalign="right"width="300"src="https://user-images.githubusercontent.com/68538660/106241311-d4232980-61d3-11eb-84e6-293f97c09e1c.png"alt="copy URL to clipboard"/>
For example:
```
git clone https://github.com/this-is-you/DSA.git
```
where `this-is-you` is your GitHub username. Here you're copying the contents of the first-contributions repository on GitHub to your computer.
## Create a branch
Change to the repository directory on your computer (if you are not already there):
```
cd DSA
```
Now create a branch using the `git checkout` command:
```
git checkout -b your-new-branch-name
```
For example:
```
git checkout -b add-new-file
```
(The name of the branch does not need to have the word _add_ in it, but it's a reasonable thing to include because the purpose of this branch is to add your name to a list.)
## Make necessary changes and commit those changes
Now open add or edit file in a text editor. Add code for any existing algorithm in other language or add some new algorithms. Make sure to update the corresponding README.md file if needed. Now, save the file.
If you go to the project directory and execute the command `git status`, you'll see there are changes.
Add those changes to the branch you just created using the `git add` command:
```
git add "name of the file you add or edit"
```
Now commit those changes using the `git commit` command:
```
git commit -m "Add message for the change"
```
## Push changes to GitHub
Push your changes using the command `git push`:
```
git push origin <add-your-branch-name>
```
replacing `<add-your-branch-name>` with the name of the branch you created earlier.
## Submit your changes for review
If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
<imgstyle="float: right;"src="https://user-images.githubusercontent.com/68538660/106243186-ebafe180-61d6-11eb-8fbc-87ef0b8839b6.png"alt="create a pull request"/>
Soon after reviewing all your changes will be merged into the master branch of this project. You will get a notification email once the changes have been merged.
## Where to go from here?
Congrats! You just completed the standard _fork -> clone -> edit -> pull request_ workflow that you'll encounter often as a contributor!