107 lines
3.9 KiB
Markdown
107 lines
3.9 KiB
Markdown
|
# How to make your first contribution?
|
||
|
|
||
|
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.
|
||
|
|
||
|
_If you're not comfortable with command line, [here are tutorials using GUI tools.](#tutorials-using-other-tools)_
|
||
|
|
||
|
<img align="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
|
||
|
|
||
|
<img align="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.
|
||
|
|
||
|
<img align="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 correspond README.md file if needed. Now, save the file.
|
||
|
|
||
|
<img align="right" width="450" src="https://firstcontributions.github.io/assets/Readme/git-status.png" alt="git status" />
|
||
|
|
||
|
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.
|
||
|
|
||
|
<img style="float: right;" src="https://user-images.githubusercontent.com/68538660/106243186-ebafe180-61d6-11eb-8fbc-87ef0b8839b6.png" alt="create a pull request" />
|
||
|
|
||
|
Now submit the pull request.
|
||
|
|
||
|
<img style="float: right;" src="https://user-images.githubusercontent.com/68538660/106242886-688e8b80-61d6-11eb-87bb-73d22e57cdbe.png" alt="submit 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!
|