Войти
  • 15204Просмотров
  • 11 месяцев назадОпубликованоGit Unleashed

Git and GitHub | Complete Guide (Arabic)

Git and GitHub Crash Course | Complete Guide to Mastering Git Welcome to the ultimate Git and GitHub crash course! Whether you're a beginner or want to deepen your understanding of version control, this comprehensive guide will take you through everything you need to know about Git and GitHub—from the basics to advanced tools and workflows. 🔑 What You'll Learn: - Understand the fundamentals of Git and how it works under the hood. - Master version control concepts like commits, branches, and tags. - Explore advanced features like rebasing, stashing, and interactive rebase. - Learn how to manage remote repositories and collaborate using GitHub. - Automate workflows with Git hooks and GitHub Actions. 00:00:00 Intro 00:00:22 Chapters Summary 00:01:02 Chapter 1: What's Git? 00:01:06 What's a Version Control System? 00:01:52 Centralized vs Distributed VCS 00:03:54 Short History of Git 📜 00:05:12 Installation and Configuration ⚙️ 00:06:34 Initialize git repository 00:07:33 How Does Git Work? 00:08:19 Object Database 00:09:04 SHA1 🔐 00:09:46 Object Structure 00:10:10 Blobs | File Contents 00:15:10 Index (Staging area) | Picture Frame 🖼 00:17:47 Trees | Taking a Picture 📸 00:21:18 Commits | Picture's Data 💾 00:23:21 References | How to get our objects back? 00:26:53 Tags | Remarkable Moments in History 🏷 00:29:06 Three-Tree Model | How Does Git Know? 00:32:52 Chapter 2: Basics 00:37:52 Staging 00:39:02 Ignoring Files | When not to Look 🙈 00:45:13 Unstaging I 00:45:55 Committing | saving a snapshot 00:47:47 Stagging lines not files 00:51:05 Changing git editor 00:52:53 Unstaging || 00:56:02 rm --cached vs restore --staged 00:59:37 Rollback strategies | Undoing Changes 00:59:50 Revert | Opposite day 01:02:33 Reset | Ommitting Changes 01:09:00 Amend | Editing Changes 01:12:03 Reflog | The Unlimate Log 01:14:37 Aliases | Shorter ways 01:19:00 Stashing | Storing Changes for Later 01:25:06 Revisiting Commits | Trip to the Past 01:27:58 Recap on References | What's deteached HEAD mean 01:35:53 Revisiting Tags 🏷 01:37:46 checkout vs reset | moving in time vs erasing it 01:40:23 Chapter 3: Branches 01:46:31 Merging | Joining Changes 🔀 01:50:23 What are Conflicts? 01:52:12 Resolving Conflicts 01:59:30 Rebasing | Moving Branches around 🏗 02:05:25 Rebasing vs Merging | When and Why? 02:06:42 Chapter 4: Git Tools 🧰 02:07:32 Interactive Rebase | Rewriting History 02:20:54 Cherry-Pick | Repeating Changes 02:25:40 Bisect | Debugging with Git 🔍🐞 02:31:07 Blame | Changes as a crime scene 🕵 02:34:26 Chapter 5: Remotes 02:35:24 Bare Repository | Git on The Server 02:37:29 Adding Remotes | Getting to Know Others 02:38:39 Sharing Changes 02:39:08 Cloning | Getting Changes from Other 02:41:40 What is the upstream branch? 02:44:30 Divergence in History | Going out of sync 02:45:50 Reconciling Branches 02:48:24 Force Pushing | Amending Remote History 02:50:37 Recap on Remotes 02:51:26 Why do we need GitHub? 02:51:30 Chapter 6: GitHub 02:51:55 Create a Remote Repository 02:54:52 Credentials 02:55:49 Access Tokens 02:57:41 Adding Collaborators 02:58:33 Issue Tracker | Planning Projects 03:02:06 Milestones | Setting Deadlines ☠ 03:05:52 Closing Issues 03:07:10 Organizing contributions 03:09:03 Creating a Pull Request 03:10:20 Reviewing Pull Requests 03:11:40 Merging Pull Requests 03:13:52 GitHub Flow Overview 03:14:42 Forking a Repository | Contributing to Others 03:22:33 Contributor vs Collaberator 03:23:50 Actions | GitHub Automation 03:25:16 Hooks | Git Automation 03:28:20 Making a Workflow 03:23:23 Making a Release 03:35:30 Why use annotated tags over lightweight? 03:35:59 Recap on GitHub 03:36:51 Outro Credits Created by: Badr Mohamed Ashraf Special Thanks: To: Open-Source-Community, my student activity, where I first started explaining Git. The experience I gained from teaching my committee shaped a better and more effective way to explain these concepts. To: Kenzy Adel, thank you for spending countless hours reviewing this course and providing invaluable feedback. Without her efforts and dedication, this course would not have seen the light of day. I am deeply grateful for her input and support. Tools Used: Linux Pop!_OS, Bash, Git, vs code, vim Video Editing: CapCut Slides: Miro PDF: Disclaimer: This video was created for educational purposes. Copyright © 2025 Badr Mohamed Ashraf. All rights reserved. This video and its contents, including the script, slides, and examples, are the intellectual property of Badr Mohamed Ashraf. Unauthorized reproduction, distribution, or use of this material without explicit permission is prohibited.