Git process and commands to know to contribute to an open-source project 
Tags: hacktoberfest, pullrequest, opensource, github
Published: 2019-10-03 07:04:33

---
title: Git process and commands to know to contribute to an open-source project 
published: true
description: This blog gives you the detailed steps to follow and commands to use when you contribute to an open-source project.  
tags: hacktoberfest, pullRequest, open-source, github
---

With [Hacktoberfest](https://hacktoberfest.digitalocean.com) happening this month, everyone is so pumped up to contribute to opensource. The aim of this blog is to give you the detailed steps to follow and commands to use when you contribute to an open-source project. 

When you find an open-source GitHub project to which you want to add a feature or fix an issue, you would find that you would have to make a pull request(PR) to them to review and accept your changes. 

This is the basic workflow to create a pull request.
**Fork -> Clone -> Create branch -> Add -> Commit -> Push -> Create Pull Request**

We will see it in detail.

1. **Fork** the Git repository - This is to create a copy of the original repository in your account.
    ![Fork the repository](https://thepracticaldev.s3.amazonaws.com/i/0qee3b0yp39352zmerbx.png)
2. Once it is done, you will be able to see that repository in your account. Now click **Clone/Download** and copy the URL.
    ![Get the Cloning url](https://thepracticaldev.s3.amazonaws.com/i/cqmj1vwvana0zb5ojgyl.png)

    Make sure you are cloning the repository that is in your account by checking the URL. It should have your GitHub username

3. Open your terminal and navigate to the parent folder for your project and execute the below command with the copied URL. 

    ```
    git clone <clone-url>
    ```
    This will create the project folder with all the content.
4. Navigate into the project folder.
    ```
    cd your-project
    ```
4. Create a feature branch for the changes you are going to make. Make sure the branch name implies the changes you are going to make/feature you are going to add. eg: git checkout -b fixing-border-issue (or) git checkout -b new-product-page-ui
    ```
    git checkout -b branch-name
    ```
5. After making the changes, add them to the branch.
    ```
    git add file-name

    #To add all the changed files

    git add .
    ```
4. Commit the changes. Give proper comments explaining the changes made.
    ```
    git commit -m "your comments"
    ```
5. Push the changes to the branch.
    ```
    git push origin branch-name
    ```
6. Once you pushed, go to your GitHub repository page. You should be able to see a yellow bar with **Compare and Pull request** button. Click that and add comments. 
    ![Pull Request Yellow bar on your repo page](https://thepracticaldev.s3.amazonaws.com/i/uefv82sec8eqjk4loepr.jpg)

7. Check and add more comments. When you are sure, Click **Create pull request** button. 
    ![Create Pull Request](https://thepracticaldev.s3.amazonaws.com/i/zfbml1lncbr0dsvmv9t6.png)
    ![Pull Request done](https://thepracticaldev.s3.amazonaws.com/i/om56isqklfjqxyzrl4qe.png)
8. You have made a pull request. Now you have to wait till a reviewer merges your PR. You will see a notification once your PR is accepted and merged.
    ![Pull request merged](https://thepracticaldev.s3.amazonaws.com/i/oh4iohf9o2bd482mz0vc.png)


Happy hacking!