Git Github Practical Guide

Tags: Git

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

Last updated 2022-01-10 | 4.7

- 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

What you'll 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

* Requirements

* NO prior Git or GitHub or web development knowledge is required
* An email address is required to create a (free) GitHub account
* The course can be attended on Mac & Windows computers

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 will guide 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 :)

Who this course is for:

  • Anybody who wants to learn what version management is & how it can help to organize your code and projects efficiently
  • (Web) developers who want to learn new skills to increase their efficiency
  • Anybody who wants to master Git & GitHub for private or professional projects

Course content

8 sections • 131 lectures

Welcome to this Course! Preview 02:17

What is Git? Preview 07:15

What is GitHub? Preview 03:44

Join Our Learning Community! Preview 00:24

Course Content Preview 05:16

How to Get the Most out of this Course! Preview 03:16

Course Slides Preview 00:03

Module Introduction Preview 00:39

The Command Line - What & Why? Preview 03:43

Comparing the Mac & Windows Command Line Preview 04:23

Please Read! Windows & Mac Users Preview 00:09

Mac Terminal - The Basics Preview 06:37

Accessing Folders Preview 03:40

Absolute vs Relative Paths Preview 03:11

Creating & Deleting Files Preview 06:27

Introducing Flags and Removing Data Preview 05:00

Copying & Moving Files & Folders Preview 08:55

Mac Terminal - Core Commands Overview Preview 02:44

Windows Command Prompt - The Basics Preview 04:35

Absolute vs Relative Paths Preview 04:31

Creating & Deleting Files & Folders Preview 03:06

Copying & Moving Files Preview 03:13

Windows Command Prompt - Core Commands Overview Preview 01:55

Useful Resources & Links Preview 00:06

Module Introduction Preview 01:51

Theory - How Git Works Preview 06:39

Theory: Working Directory vs Repository Preview 04:50

Theory - Understanding Branches Preview 04:23

Please Read! Windows & Mac Users Preview 00:12

Installing Git on Windows Preview 10:37

Installing Git on MacOS Preview 04:44

Installing Visual Studio Code Preview 09:56

Initializing the Repository & Creating the First Commit ("git init" & "git commi Preview 08:28

Please Read: Exiting the Log Preview 00:06

Diving Deeper Into Commits with "git log" Preview 04:14

Understanding & Creating Branches Preview 06:58

Merging Branches - The Basics Preview 01:51

Understanding the HEAD Preview 03:09

The "detached HEAD" Preview 03:52

Branches & "git switch" (Git 2.23) Preview 02:41

Deleting Data - An Overview Preview 01:06

Deleting Working Directory Files Preview 03:30

Undoing Unstaged Changes Preview 05:28

Undoing Staged Changes Preview 05:31

Deleting Commits with "git reset" Preview 07:01

Deleting Branches Preview 01:51

Committing "detached HEAD" Changes Preview 08:37

Understanding .gitignore Preview 05:32

Wrap Up & Basic Commands Overview Preview 05:50

Assignment - Practicing the Git Basics

The Git basics are set, aren't they? Let's find out in this assignment!

Useful Resources & Links Preview 00:03

Module Introduction Preview 00:45

Understanding the Stash ("git stash") Preview 08:58

Bringing Lost Data Back with "git reflog" Preview 05:44

Combining Branches - What & Why? Preview 01:49

Understanding Merge Types Preview 02:22

Applying the Fast-Forward Merge Preview 09:12

The Recursive Merge (Non-Fast-Forward) Preview 07:20

Rebasing - Theory Preview 03:20

Applying "git rebase" Preview 06:49

Handling Merge Conflicts Preview 06:48

Merge vs Rebase vs Cherry Pick Preview 02:01

Undestanding "git cherry-pick" Preview 05:39

Working with Tags ("git tag") Preview 06:29

Wrap Up Preview 02:37

Useful Resources & Links Preview 00:02

Module Introduction Preview 01:58

What is GitHub? Preview 02:49

From Local to Remote Repository - Theory Preview 06:06

Creating a GitHub Account & Introducing GitHub Preview 05:57

Creating a Remote Repository Preview 05:47

Connecting Local & Remote Repositories Preview 08:49

Understanding the Personal Access Token Preview 03:37

MacOS Users Only: Please Read Preview 00:15

Pushing a Second Commit Preview 05:29

From Local to Remote - Understanding the Workflow Preview 04:41

Remote Tracking Branches in Practice Preview 08:33

Understanding Local Tracking Branches Preview 04:04

Creating Local Tracking Branches Preview 08:25

Remote & Tracking Branches - Command Overview Preview 02:30

Cloning a Remote Repository Preview 09:08

Understanding the Upstream Preview 02:33

Deleting Remote Branches & Public Commits Preview 06:03

Wrap Up Preview 01:52

Useful Resources & Links Preview 00:02

Module Introduction Preview 02:42

The 4 GitHub Usecases Preview 03:53

Understanding GitHub Account Types Preview 05:58

Changing the Repository Type from Public to Private Preview 10:09

Pushing Commits to a Public Repository Preview 05:29

How GitHub Manages Account Security Preview 05:52

Understanding & Adding a Collaborator to a Private User Account Preview 07:09

Collaborating in Private Repositories Preview 05:03

Comparing Owner & Collaborator Rights Preview 03:20

Limiting Interactions Preview 06:32

Introducing Organizations Preview 01:35

Creating an Organization Preview 05:06

Exploring Member Repository Permissions Preview 04:36

Adding Outside Collaborators Preview 07:29

Adding Organization Members Preview 09:08

Failing to Manage Access for Individual Repositories Preview 02:51

Introducing Teams Preview 09:13

Managing Team Repository Access Efficiently Preview 07:06

Understanding Forks & Pull Requests Preview 10:23

Forking a Repository Preview 08:28

Pull Requests in Practice Preview 11:43

Opening & Closing Issues Preview 07:26

Working with GitHub Projects Preview 08:15

Creating a README File in a Repository Preview 07:45

Presenting Yourself as Developer on GitHub Preview 05:03

About GitHub Stars Preview 01:56

Wrap Up Preview 06:18

Useful Resources & Links Preview 00:03

Module Introduction Preview 01:11

Preparing the Project Preview 03:06

Project Setup Preview 04:25

Creating our First Commit Locally Preview 04:57

Changing the ReactJS Project Code Preview 09:11

Pushing the Code to the Owner's Remote Repository Preview 06:11

Cloning the Project & Changing the Code Preview 07:04

Pushing the Commit & Why it Fails Preview 03:14

Adding a Collaborator Preview 02:03

Creating the Personal Access Token & Pushing Successfully Preview 04:17

Merging the Owner Branches Preview 02:23

Fixing Merge Conflicts Preview 06:37

Accessing Code via Forks Preview 05:15

Contributing to the Project by Improving the Code Preview 02:54

Creating the Pull Request Preview 06:15

Accepting the Pull Request Preview 05:01

Useful Resources & Links Preview 00:04