Here’s a beginner-friendly guide to GitHub, especially focused on forks and pull requests, which are the core of real-world collaboration This article provides a beginner-friendly guide to GitHub, focusing on the core collaboration tools of forks and pull requests. It explains that a fork is a personal copy of another user's repository, allowing for safe experimentation, while a pull request is a method to propose changes from that fork back to the original project. The guide includes a step-by-step workflow, common mistakes to avoid, and emphasizes that mastering these concepts enables contribution to open-source projects and professional development workflows. 🚀 GitHub for Beginners Forks, Pull Requests, and Collaboration GitHub is where developers store code, collaborate, and contribute to projects. If Git is the engine, GitHub is the social platform built on top of it. Let’s break it down simply. 🌍 1. What is GitHub? GitHub is a website that hosts Git repositories online. It lets you: - Store your code in the cloud - Collaborate with others - Contribute to open-source projects - Track changes and history 👉 Think of Git as your local notebook and GitHub as Google Drive for code. 🍴 2. What is a Fork? A fork is a copy of someone else’s repository under your own GitHub account. Why fork a repo? - You don’t have permission to edit the original project - You want to experiment safely - You want to contribute to open-source projects How it works: - You click Fork on GitHub - GitHub creates a copy in your account - You can edit freely without affecting the original project 🔄 3. What is a Pull Request PR ? A Pull Request is how you suggest changes to someone else’s project. Think of it like: “Hey, I made improvements—please review and add them to your project.” 🧠 Simple Flow: - Fork a repo - Clone it to your computer - Make changes - Push changes to your fork - Open a Pull Request 🛠️ 4. Step-by-Step Workflow Step 1: Fork a repository On GitHub: - Open any repo you want to contribute to - Click Fork top right corner Step 2: Clone your fork bash id="f8c1g2" git clone https://github.com/your-username/repo-name.git cd repo-name --- Step 3: Create a branch important Never work directly on main. bash id="b9k3m1" git checkout -b my-feature Step 4: Make changes Edit files normally in your code editor. Step 5: Add and commit changes bash id="q2r7t9" git add . git commit -m "Add new feature or fix bug" --- Step 6: Push to your GitHub fork bash id="l4x8n3" git push origin my-feature Step 7: Open a Pull Request Go to your fork on GitHub: - Click “Compare & pull request” - Add a title and description - Click “Create Pull Request” 🔍 5. What happens after a Pull Request? Once you submit a PR: - Maintainers review your code - They may request changes - You can update your PR with more commits - If approved → it gets merged 🎉 🔁 6. Keeping your fork updated Original repos change over time. You need to sync your fork: Add original repo as upstream: bash id="u1p9v5" git remote add upstream https://github.com/original-owner/repo.git Pull latest changes: bash id="k7s2m8" git fetch upstream git merge upstream/main 🧠 7. GitHub Concepts Cheat Sheet ⚠️ 8. Common Beginner Mistakes ❌ Working on main branch Always use a feature branch. ❌ Forgetting to fork first You usually cannot push directly to someone else’s repo. ❌ One huge commit Break work into small, meaningful commits. 💡 9. Real-world example Imagine you fix a typo in a website: - Fork repo - Clone it - Fix typo - Push change - Submit PR - Maintainer merges it 🎉 You just contributed to open source 🧭 Final Thoughts GitHub is all about collaboration and contribution. Once you understand forks and pull requests, you unlock the ability to: - Work on real projects - Contribute to open source - Build a developer portfolio - Work like professionals in tech companies If you want next, I can show you: - 🧪 A practice open-source project to try your first PR - 💼 How companies actually use GitHub real workflow - 🧠 How to write a perfect pull request description - ⚡ GitHub Actions CI/CD automation basics Just tell me 👍