diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..c714868c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,106 @@ +# 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)_ + +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 + +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. + +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. + +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 +``` + +replacing `` 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. + +create a pull request + +Now submit the pull request. + +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! diff --git a/README.md b/README.md index 3c74230d..392f2779 100644 --- a/README.md +++ b/README.md @@ -28,5 +28,7 @@ DSA ### 2. Naming Convention The programming should keep the naming convention rule of each programming language +### Other topic +- [First-time contribution](CONTRIBUTING.md) ## License [MIT](./LICENSE)