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
# 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.
- A free GitHub account
- Git installed on your computer
- A text editor and a terminal
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.
How to make a GitHub pull request
-
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.comWatch out: You'll know it worked when the page title reads
YOUR-USERNAME/GitStartinstead ofrishabh-bansal/GitStart, with "forked from" underneath. -
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 GitStartWatch 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. Rungit remote -vto check. -
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-bflag means "create this branch and switch to it in one go". Name it after what you're doing.git checkout -b add-YOUR-USERNAMEWatch out: Working directly on
masterstill produces a valid pull request, but it makes your fork awkward to reuse later. Building the branch habit now costs you one command. -
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
.txtinstead of.md, forgetting either---line, and typing your real name intousername. Theusernamevalue must be your exact GitHub handle — it's what fetches your avatar. Add nothing else to the commit. -
Commit your change
A commit is a saved snapshot with a note explaining why you made it. It takes two commands:
git addmarks which files to include, andgit commitsaves them.
Name your file explicitly rather than usinggit add .— that way stray files like.DS_Storecan'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 statusfirst. It should list exactly one new file. If it lists more, you're about to commit something you didn't mean to. -
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 originlinks your local branch to the matching branch on GitHub, so every later push on this branch is justgit push.git push -u origin add-YOUR-USERNAMEWatch 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.
-
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/GitStartand the base branch ismaster. 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.