Chapter 34: Git GitHub Send Pull Request
A Pull Request (PR) is GitHub’s polite way of saying:
“I made some changes in my fork / branch. Would you please pull these changes into your main project?”
It’s not a Git command — it’s a GitHub feature (although GitLab calls it Merge Request, Bitbucket calls it Pull Request too).
Why Pull Requests are so powerful (real 2026 reasons)
- Code review before merging → catches bugs early
- Discussion thread → explains why you changed something
- Automatic checks (GitHub Actions, CI tests, linting)
- History of conversation stays forever
- You get credit in commit history even if maintainer rewrites it
- Builds your public profile (green squares + contribution graph)
- Used even in private company repos (most teams require PRs)
Realistic Full Example – Send a Real Pull Request (beginner-friendly)
We’ll do a safe, small, realistic contribution to a very welcoming open-source project.
Target repo (still active & beginner-friendly in 2026): https://github.com/public-apis/public-apis (A massive list of free public APIs — many small improvements welcome)
Goal: Add one missing free API to the “Development” category (or fix a typo if you prefer)
Step 1 – Fork the repository (if not done already)
- Go to https://github.com/public-apis/public-apis
- Click Fork (top-right)
- Create fork under your account
Now your copy lives at: https://github.com/**your-username**/public-apis
Step 2 – Clone your fork locally
|
0 1 2 3 4 5 6 7 8 |
git clone https://github.com/your-username/public-apis.git # or SSH: git clone git@github.com:your-username/public-apis.git cd public-apis |
Step 3 – Create a clear branch
|
0 1 2 3 4 5 6 |
git switch -c add/free-openai-api-wrapper |
(Use prefix like add/, fix/, docs/ + short description)
Step 4 – Make the small change
Open README.md → find section “Development” (or any category you like)
Add one line (example):
|
0 1 2 3 4 5 6 |
- [OpenRouter](https://openrouter.ai/) — Unified API wrapper for many LLMs (free tier available) |
Save file.
Step 5 – Commit with excellent message
|
0 1 2 3 4 5 6 7 |
git add README.md git commit -m "docs: add OpenRouter free-tier LLM API wrapper to Development section" |
Step 6 – Push your branch to your fork
|
0 1 2 3 4 5 6 |
git push -u origin add/free-openai-api-wrapper |
Step 7 – Create the Pull Request (this is the “send” part)
Go to your fork on GitHub: https://github.com/your-username/public-apis
You should see a yellow banner near the top:
“add/free-openai-api-wrapper had recent pushes less than a minute ago”
Click the green button Compare & pull request
GitHub opens the magic PR creation screen:
Very important fields to fill carefully:
-
base repository → should auto-set to public-apis/public-apis (the original) head repository → your-username/public-apis base: main ← compare: add/free-openai-api-wrapper
-
Title (first line people see – make it clear & conventional)
text0123456docs: add OpenRouter free-tier LLM API wrapper to Development section -
Description (explain why + what + how to test)
text012345678910111213141516171819## Changes- Added OpenRouter to the Development category- It's a unified API that routes to many LLMs with a generous free tier## Why this is usefulDevelopers often need one endpoint to access multiple models without managing multiple API keys.## TestingNo code changed — only README documentationThank you for curating this amazing list of free APIs — it's helping so many learners! -
(Optional but nice)
- Add labels (if repo has them)
- Assign yourself
- Link related issue (if any)
-
Click green Create pull request
→ Done! 🎉 Your Pull Request is now live in the original repository: https://github.com/public-apis/public-apis/pull/XXXX
What happens next? (real-world flow 2026)
-
Maintainers get notified (email / GitHub notifications)
-
Someone reviews → sees your change is safe & useful
-
Possible outcomes:
- Merged quickly (especially docs/API additions)
- “Looks good, can you add pricing info?” → you edit locally → commit → push → PR auto-updates
- Closed with reason (“already listed” / “not fitting scope”) → no problem, you learned
- Ignored → normal for popular repos; try smaller ones next time
-
If merged → your commit appears in official history → Your profile contribution graph gets green squares → You can link it in resume / LinkedIn
Quick Pull Request Creation Checklist (save this)
- Fork → clone your fork
- Create branch: git switch -c fix/something-helpful
- Change → commit with conventional message
- git push -u origin your-branch
- Go to your fork → Compare & pull request
- Set base = original repo main
- Write clear title + kind description
- Submit → wait politely → respond to feedback
Want to do a real PR together right now?
I can give you 5–10 very beginner-friendly repos (with “good first issue” label or easy docs fixes). We can pick one → fix a typo or add a link → create PR live.
Or want to see how to handle “changes requested” feedback step-by-step?
Just tell me — we’ll do it together. Contributing via PR is one of the fastest ways to level up your Git skills, build confidence, and make your GitHub profile shine. You’re going to love this! 🚀
