Git & GitHub - The Practical Guide

Learn Git & GitHub and master working with commits, branches, the stash, cherry picking, rebasing, pull requests & more!

4.65 (5730 reviews)
Udemy
platform
English
language
Web Development
category
36,063
students
10.5 hours
content
Nov 2023
last update
$99.99
regular price

What you will learn

Learn all you need to work with Git, including all about repositories, commits, branches & more

Understand how Git works behind the scenes and understand local & remote as well as local-tracking & remote-tracking branches

Dive into advanced Git features like merging, rebasing, the stash and learn how to manage merge conflicts

Bring Git's power to the cloud with GitHub

Learn how to collaborate in projects via Git & GitHub in teams & organizations

Learn how to contribute to open-source projects via forks & pull requests

Efficiently manage projects with Git & GitHub

Description

No matter if you're just getting started with (web) development, if you're applying for a developer job or if you just need to refresh your knowledge - version control is a core skill you need to succeed as a developer!

Git (a version control system) and Github (a cloud provider for Git managed projects) form an outstanding combination to provide the best possible experience to create and maintain a clearly structured project history!

This course guides everyone (no prior knowledge is required!) through the core steps to use these tools in your daily projects with ease.

What is Version Control?

Saving & accessing data and tracking changes is what version control is all about. No matter if you're working on a private or a professional development project, code evolves, changes and continuously gets improved. A clean version management structure is therefore key to successfully manage the progress of your projects.

What is Git?

Git is a 100% free version management tool, specifically created for and used by developers all over the world to manage project code history locally on their machines (Windows, macOS, Linux/Unix).

What is GitHub?

GitHub is an online service, it is also free for many use cases (an account is all you need) and brings Git's local "file-tracking" strengths to the cloud. Storing project code online, updating code, accessing other team members' code or collaborating on large scale projects inside your organization - all possible with the help of GitHub!

Why Should I Know these Tools?

Version control is key to manage projects efficiently so not knowing Git and GitHub makes your daily developer life a lot more complicated. The same apply if you're currently looking for a new job in the industry, version control is required in any developer projects these days, so not knowing Git & GitHub puts you behind your competition!

Although Git and GitHub are user friendly, both come with their own logic and "language". Getting started can therefore be a bit cumbersome and this is where this course comes into play!

What do I Learn in this Course?

This course starts at the very basics, no prior Git or GitHub knowledge is required! You'll learn how to use Git and how to write Git commands in the Mac Terminal or the Windows Command Prompt (optional refreshers on both are also part of the course).

Starting with the first initialization of a so-called Git repository, we'll build up your knowledge step-by-step and understand the what & why behind concepts like branches, commits, the staging area, merging & rebasing, cloning, pushing & pulling branches and a lot more!

What's Inside this Course?

  • An optional Command Line Crash Course for both Windows & MacOS users

  • Git Download & Installation

  • Git Theory - Working Directory, Staging Area (Index) and Repository explained

  • Creating Git Repositories

  • Working with Commits

  • Understanding Branches

  • Understanding the HEAD and the detached HEAD

  • Newly Introduced Git Commands with Git Version 2.23

  • Deleting Data (Staged & Unstaged, Commits & Branches)

  • Ignoring Files

  • The Stash

  • Merging, Rebasing and Cherry Picking

  • Bringing Back Deleted Data with the Reflog

  • Connecting Local Git Repositories to Remote GitHub Repositories

  • Git Push & Pull (+ Fetch)

  • Local, Remote Tracking & Remote Branches

  • GitHub Collaborators & Contributors

  • Forks & Pull Requests

  • GitHub Issues

  • Github Projects

  • and so much more!

All covered, explained and applied in easy to understand examples in the course!

-

In this course we'll find answers to questions like:

"How can I delete my last commit?"

"What is the Stash?"

"What is the difference between a merge and a rebase (and what is cherry-picking actually)?"

"How to bring back a deleted commit?"

"What is the difference between a local tracking branch and a remote tracking branch?"

-

What are you waiting for, jump and board and let's GIT started :)

Content

Introduction

Welcome to this Course!
What is Git?
What is GitHub?
Join Our Learning Community!
Course Content
How to Get the Most out of this Course!
Course Slides

Optional: Mac Terminal & Windows Command Prompt Introduction

Module Introduction
The Command Line - What & Why?
Comparing the Mac & Windows Command Line
Please Read! Windows & Mac Users
Mac Terminal - The Basics
Accessing Folders
Absolute vs Relative Paths
Creating & Deleting Files
Introducing Flags and Removing Data
Copying & Moving Files & Folders
Mac Terminal - Core Commands Overview
Windows Command Prompt - The Basics
Absolute vs Relative Paths
Creating & Deleting Files & Folders
Copying & Moving Files
Windows Command Prompt - Core Commands Overview

Version Management with Git - The Basics

Module Introduction
Theory - How Git Works
Theory: Working Directory vs Repository
Theory - Understanding Branches
Please Read! Windows & Mac Users
Installing Git on Windows
Installing Git on MacOS
Installing Visual Studio Code
Initializing the Repository & Creating the First Commit ("git init" & "git commi
Diving Deeper Into Commits with "git log"
Understanding & Creating Branches
Merging Branches - The Basics
Understanding the HEAD
The "detached HEAD"
Branches & "git switch" (Git 2.23)
Deleting Data - An Overview
Deleting Working Directory Files
Undoing Unstaged Changes
Undoing Staged Changes
Deleting Commits with "git reset"
Deleting Branches
Committing "detached HEAD" Changes
Understanding .gitignore
Wrap Up & Basic Commands Overview
Useful Resources & Links

Diving Deeper Into Git

Module Introduction
Understanding the Stash ("git stash")
Bringing Lost Data Back with "git reflog"
Combining Branches - What & Why?
Understanding Merge Types
Applying the Fast-Forward Merge
The Recursive Merge (Non-Fast-Forward)
Rebasing - Theory
Applying "git rebase"
Handling Merge Conflicts
Merge vs Rebase vs Cherry Pick
Undestanding "git cherry-pick"
Working with Tags ("git tag")
Wrap Up
Useful Resources & Links

From Local to Remote - Understanding GitHub

Module Introduction
What is GitHub?
From Local to Remote Repository - Theory
Creating a GitHub Account & Introducing GitHub
Creating a Remote Repository
Connecting Local & Remote Repositories
Understanding the Personal Access Token
Pushing a Second Commit
From Local to Remote - Understanding the Workflow
Remote Tracking Branches in Practice
Understanding Local Tracking Branches
Creating Local Tracking Branches
Remote & Tracking Branches - Command Overview
Cloning a Remote Repository
Understanding the Upstream
Deleting Remote Branches & Public Commits
Wrap Up
Useful Resources & Links

GitHub Deep Dive - Collaboration & Contribution

Module Introduction
The 4 GitHub Usecases
Understanding GitHub Account Types
Changing the Repository Type from Public to Private
Pushing Commits to a Public Repository
How GitHub Manages Account Security
Understanding & Adding a Collaborator to a Private User Account
Collaborating in Private Repositories
Comparing Owner & Collaborator Rights
Limiting Interactions
Introducing Organizations
Creating an Organization
Exploring Member Repository Permissions
Adding Outside Collaborators
Adding Organization Members
Failing to Manage Access for Individual Repositories
Introducing Teams
Managing Team Repository Access Efficiently
Understanding Forks & Pull Requests
Forking a Repository
Pull Requests in Practice
Opening & Closing Issues
Working with GitHub Projects
Creating a README File in to Repository
Presenting Yourself as Developer on GitHub
About GitHub Stars
Wrap Up
Useful Resources & Links

Real Project Example: Git & GitHub Applied

Module Introduction
Preparing the Project
Project Setup
Creating our First Commit Locally
Changing the ReactJS Project Code
Pushing the Code to the Owner's Remote Repository
Cloning the Project & Changing the Code
Pushing the Commit & Why it Fails
Adding a Collaborator
Creating the Personal Access Token & Pushing Successfully
Merging the Owner Branches
Fixing Merge Conflicts
Accessing Code via Forks
Contributing to the Project by Improving the Code
Creating the Pull Request
Accepting the Pull Request
Useful Resources & Links

Course Roundup

Congratulations!

Screenshots

Git & GitHub - The Practical Guide - Screenshot_01Git & GitHub - The Practical Guide - Screenshot_02Git & GitHub - The Practical Guide - Screenshot_03Git & GitHub - The Practical Guide - Screenshot_04

Reviews

Candis
July 26, 2023
The instructors did a wonderful job reinforcing the key concepts and not just saying remember when we did this back in lesson x or just skipping over it when the concept came up again.
Martin
July 14, 2023
Pace was good and the final project walkthrough at the end helped me confirm that I had captured the main elements. There are lots of commands to remember, but the pointers help.
Dmitriy
July 10, 2023
It was great taking this course, because Git has a lot of different commands (old and new syntaxes, etc.) that do the same thing, and Git terminology can be quite complicated and extensive even for simple concepts. This course gave me the exact commands and the exact terminology I needed to use, without ambiguity.
Vinícius
July 7, 2023
By an instrumental perspective the course was what I expected, going through step-by-step with the most common uses of git and github. But by a conceptual perspective the course, I felt that lacked a little bit, some concepts were vague (I understand that these concepts might be very complex for people without any experience).
Phala
July 4, 2023
This course teaches you the core foundational knowledge you need to confidently work with GitHub as an individual, organization, or a team.
Glenn
June 18, 2023
The things happening under the hood are well explained. I have better understanding now on how git works. Thank you!
Fabiola
June 13, 2023
Excellent course, you're able to understand how git and github work, but most importantly you understand what happends behind the scenes. It was fun to practice with the exercises.
Andrew
June 13, 2023
The course is thorough and has some good visuals to explain what is going on with different branches, merges, and so on. There are a few minor parts of the course that are outdated, but not much. What I think would make this course even better would be more visuals of what is going on, especially in the final section of the course. Here are some other things it could improve on as well: lesson 57 - git merge —no-ff <branch> defaults to the ort strategy now, not the recursive strategy. This lesson needs updating. Recursive merge - told that this is what we should use when commits occur in the master branch after a new feature branch is created. Not told why. Just shown how. Frustrating. Lesson 80 - The last part of the lesson where we create local tracking branches is confusing, possibly bad practice, and needs to be revised. Lesson 82 - second 39 - it’s not a local tracking branch. It’s a remote tracking branch. in 82 - says we can effect others work when we reset the HEAD in the remote repository but does not explain how. Besides that, great course you two!
Mohamed
June 8, 2023
Manque de graphique et d’animations. Utilisation seul de la console pas suffisante pour avoir une idée concrète des commandes.
Omer
May 26, 2023
very confusing at the beginning, needs the explanation of the workflow first and detailed functionality would be great way to understand and digest and try to make sense... in my opinion. you are watching and trying to replicate what is done without having any clue about where and why using it later..
Abidul
May 26, 2023
Very good and easy to understand course about Git and Github. As expected from Academind, It's always a quality content. Much recommende for anyone who wants to learn Git and Github. Its what in India we call Full Paisa Wasool.
Kallyne
May 25, 2023
O curso ensina desde os conceitos mais básicos que usamos no dia a dia, até os que são usados raramente, mesmo em uma empresa.
KOK
May 18, 2023
Pretty in-depth coverage of Git, a bit more than the usual commands for normal day to day work. Still nicely paced and a great course for beginners.
Amanuel
May 13, 2023
Easy to digest compact I enjoyed the course it gave me a good foundation of git and github and I am proud of myself that I finished the course.
Nicolas
May 9, 2023
Honestly guys, this course is definitely less "fun" than some other courses by those 2 awesome guys because the topic is dry, very theoritical and not really fun let's concede it :p Having said that, I learned with those 2 fellows everything I need to get started with Git/Github and invite some developer friends to go see and review my projects online and collaborate on them! Superb course!

Coupons

DateDiscountStatus
8/25/202194% OFF
expired
9/2/202194% OFF
expired
5/17/202292% OFF
expired
9/24/202285% OFF
expired
5/14/202386% OFF
expired

Charts

Price

Git & GitHub - The Practical Guide - Price chart

Rating

Git & GitHub - The Practical Guide - Ratings chart

Enrollment distribution

Git & GitHub - The Practical Guide - Distribution chart

Related Topics

4188320
udemy ID
7/16/2021
course created date
8/25/2021
course indexed date
Bot
course submited by