Skip to content

Latest commit

 

History

History
141 lines (99 loc) · 12.9 KB

README.md

File metadata and controls

141 lines (99 loc) · 12.9 KB

Open Source Love

First Contributions

It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.

Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.

fork this repository

Read this in other languages: Spanish, Dutch, Hindi, Russian, Japanese, Vietnamese, Polish, Korean, German, Simplified Chinese, Traditional Chinese, Greek, العربية.

If you don't have git on your machine, install it

Fork this repository

Fork this repo by clicking on the fork button on the top of this page. This will create of copy of this repository in your account.

Clone the repository

clone this repository

Now clone this repo to your machine. Click on the clone 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 quote marks) is the url to this repository. See the previous steps to obtain the url.

copy URL to clipboard

For example:

git clone https://github.com/this-is-you/first-contributions.git

Where 'this-is-you' is your GitHub username. Here you're copying the contents of first-contributions repository in GitHub to your computer

Create a branch

Change to the repository directory on your computer if you are not already there.

cd first-contributions

Now create a branch using git checkout command

git checkout -b <add-your-name>

For example:

git checkout -b add-alonzo-church

Make necessary changes and commit those changes

Now open Contributors.md file in a text editor and add your name to it, then save the file. If you go to the project directory and do git status, you'll see there are changes. Add those changes using the below git add command.

git add Contributors.md

Now commit those changes using the below git commit command.

git commit -m "Add <your-name> to Contributors list"

replace <your-name> with your name

Push changes to GitHub

Push your changes using git push

git push origin <add-your-name>

Replace <add-your-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 Compare & pull request button. click on that button.

create a pull request

Now submit the pull request.

submit pull request

Now I'll be merging all your changes into the master branch of this project. You will get a notification email once the changes have been merged.

Master branch of your fork won't have those changes. In order to keep your fork synced with mine, follow the steps below.

Keeping your fork synced with this repository

First, switch to master branch.

git checkout master

Then, add my repo's url as upstream remote url.

git remote add upstream https://github.com/Roshanjossey/first-contributions

This is a way of telling git that another version of this project exists in the specified url and we're calling it upstream. Once the changes are merged, fetch the new version of my repository.

git fetch upstream

Here we're fetching all the changes in my fork (upstream remote). Now, you need to merge the new revision of my repository into your master branch.

git rebase upstream/master

Here you're applying all the changes you fetched to master branch. If you push master branch now, your fork will also have the changes

git push origin master

Notice here you're pushing to the remote named origin.

Tutorials Using Other Tools

GitHub Desktop Visual Studio 2017 GitKraken
GitHub Desktop Visual Studio 2017 GitKraken

Where to go from here?

You could also join our slack team in case you need any help or have any questions. Join slack team

Here's some beginner level issues in popular repos that you can solve. Go ahead and go to those repos to learn more

exercism fun-retro habitat scikit-learn elasticsearch
exercism Fun Retros react habitat scikit-learn Leiningen numpy elasticsearch
homebrew rust vuejs Suave OpenRA PowerShell coala moment
homebrew Rust vuejs Suave OpenRA PowerShell coala moment
ava freeCodeCamp webpack hoodie pouchdb neovim babel
ava freeCodeCamp webpack hoodie pouchdb neovim babel brackets
Node.js
Node.js Semantic-UI-React