A small first step into open source

Your first pull request.
Start right here.

Learn Git by doing something real. Fork a repository, add your name, and make your first GitHub pull request. We’ll walk you through it.

499 contributor profiles 7 simple steps Free & open source

your-first-contribution

# Big things start with a small commit.

$ git checkout -b my-first-pr

$ git add src/profiles/you.md

$ git commit -m "Hello, open source"

✓ Your journey starts here.

Before you begin

A few things to have ready.

No coding experience needed. Allow about 15 minutes, plus setup time.

First time using Git on this computer?

Set the name and email attached to your commits. Use the verified email or private noreply address shown in GitHub email settings.

git config --global user.name "Your Name"
git config --global user.email "YOUR-VERIFIED-OR-NOREPLY-EMAIL"

These commands change your default identity for future commits on this computer. To sign in when pushing, use Git Credential Manager or GitHub CLI.

  1. Fork the repository

    A fork is your own complete copy of someone else's project, stored under your own GitHub account. You can change anything in it without affecting the original, which is what makes it safe to experiment.

    Open rishabh-bansal/GitStart and press Fork in the top-right corner, then Create fork. GitHub will take you to your copy.

    # Nothing to type yet — this step happens on github.com

    Watch out: You'll know it worked when the page title reads YOUR-USERNAME/GitStart instead of rishabh-bansal/GitStart, with "forked from" underneath.

  2. Clone your fork to your computer

    Cloning downloads your fork so you can edit it with real tools instead of in the browser. On your fork's page, click the green Code button and copy the HTTPS URL.

    Then open a terminal — Terminal on macOS and Linux, Git Bash on Windows — and run these two commands. The second one moves you into the folder you just downloaded.

    git clone https://github.com/YOUR-USERNAME/GitStart.git
    cd GitStart

    Watch out: The URL must contain your username, not rishabh-bansal. Cloning the original instead of your fork is the single most common mistake here — you won't have permission to push, and you'll only find out at step 6. Run git remote -v to check.

  3. Create a branch for your change

    A branch is a separate line of work. Making one keeps your change isolated from master, so the original stays clean and your pull request contains only what you meant to add.

    The -b flag means "create this branch and switch to it in one go". Name it after what you're doing.

    git checkout -b add-YOUR-USERNAME

    Watch out: Working directly on master still produces a valid pull request, but it makes your fork awkward to reuse later. Building the branch habit now costs you one command.

  4. Add your profile file

    Create one new file in the src/profiles/ folder, named after your GitHub username, ending in .md. Use any text editor.

    The block between the two --- lines is called frontmatter. It's structured data the site reads to build your card, so the format has to be exact: three hyphens, the two keys, three hyphens.

    File: src/profiles/YOUR-USERNAME.md
    
    ---
    username: YOUR-USERNAME
    fullname: Your Full Name
    ---

    Watch out: Four things break this: putting the file in the wrong folder, using .txt instead of .md, forgetting either --- line, and typing your real name into username. The username value must be your exact GitHub handle — it's what fetches your avatar. Add nothing else to the commit.

  5. Commit your change

    A commit is a saved snapshot with a note explaining why you made it. It takes two commands: git add marks which files to include, and git commit saves them.

    Name your file explicitly rather than using git add . — that way stray files like .DS_Store can't sneak into your pull request.

    git add src/profiles/YOUR-USERNAME.md
    git commit -m "Add YOUR-USERNAME to contributors"

    Watch out: Run git status first. It should list exactly one new file. If it lists more, you're about to commit something you didn't mean to.

  6. Push the branch to your fork

    Pushing uploads your commit from your computer to your fork on GitHub. Until you do this, your change exists only locally.

    -u origin links your local branch to the matching branch on GitHub, so every later push on this branch is just git push.

    git push -u origin add-YOUR-USERNAME

    Watch out: For HTTPS sign-in, use Git Credential Manager, GitHub CLI, or a personal access token. Never use your account password. Follow GitHub’s command-line authentication guide. Keep tokens private; never put them in your profile file.

  7. Open the pull request

    A pull request asks the original project to take your change. Go back to your fork on GitHub — there'll be a yellow banner offering Compare & pull request. Click it, give it a short title, then press Create pull request.

    That's it. You've contributed to open source. A check runs automatically on your file and tells you if anything needs fixing. Eligible profile-only changes can merge automatically after validation.

    # Back to github.com — press "Compare & pull request"

    Watch out: Before submitting, check the base repository dropdown reads rishabh-bansal/GitStart and the base branch is master. If you forked a fork, GitHub sometimes preselects the wrong target and your pull request lands on a stranger's project. Always check before submitting.

Good questions

A little clarity
before your first commit.

What is a pull request?

A pull request proposes changes from one branch to another. It gives maintainers a place to review the difference, run checks, and merge the contribution into the project.

Do I need to know how to code?

No. This exercise adds a small text file with your GitHub username and display name. You will practise the same fork, branch, commit, and pull request workflow used in software projects.

What is the difference between a fork and a clone?

A fork is your copy of a repository on GitHub. A clone is a local copy on your computer. Fork first, then clone your fork so you have somewhere you can push your changes.

Why did my pull request fail a check?

Open the pull request’s Checks tab and read the validation result. Check the folder, file extension, username, and frontmatter. Commit a correction to the same branch and push again; the pull request updates automatically.

When will my profile appear?

Your profile appears after the pull request is merged and the next website deployment succeeds. Eligible profile-only changes are checked automatically. Changes to existing profiles, code, or documentation need maintainer review.

Does this count toward Hacktoberfest?

GitStart is a practice project and does not promise event credit. Check the current Hacktoberfest participation rules; simple practice contributions may not qualify.

Learning works better together.

Get to know the contributors, revisit the Git command cheatsheet, or report an unclear instruction so the next person has a smoother start.