Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 22 hours on-demand video
  • 19 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
Development Development Tools Git

Complete Git Guide: Understand and master Git and GitHub

Complete Git and GitHub guide. Master basic and advanced Git features: commits, branches, merging, rebasing, squashing.
Rating: 4.7 out of 54.7 (1,443 ratings)
21,842 students
Created by Bogdan Stashchuk
Last updated 1/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Deeply understand how Git works under the hood
  • Use Git not just in terminal but also in graphical user interfaces like GitHub Desktop, SourceTree, Visual Studio Code
  • Learn different GIt objects - blobs, trees, commits and annotated tags
  • Create local and remote Git repositories
  • Perform basic and advanced Git operations
  • Learn how to perform rebasing and merging of the branches
  • Learn what is pull request and how to create pull request at GitHub
  • Contribute to public repositories using technique of forks and pull requests from the forked repository
  • Understand what is semantic versioning and how to use Git Tags in order to create software release versions
  • Learn advanced Git operations - squashing, cherry-picking, amending, reverting commits.
Curated for the Udemy for Business collection

Course content

20 sections • 267 lectures • 21h 51m total length

  • Preview05:24
  • Join the "Be Skillful" Learning Community
    00:21
  • Preview01:28
  • PDF - Introduction to the Git and GitHub
    00:02
  • Preview05:30

  • Section 2 Introduction
    00:42
  • Installing Git on MacOS
    02:24
  • Installing Git on Windows
    10:41
  • Installing Git on Linux
    08:20
  • Installing iTerm2 on the Mac
    05:36
  • Installing custom shell Z-Shell on the Mac
    05:32

  • Preview00:43
  • PDF - Basic Shell Commands
    00:02
  • Shell commands - directory management
    09:38
  • Shell commands - file management - PART 1
    08:59
  • Shell commands - file management - PART 2
    08:25

  • Preview00:57
  • PDF - How Git works under the hood
    00:02
  • Initialize new Git repository
    04:12
  • Preview04:01
  • Git object types
    03:02
  • Writing new Git object with git hash-object
    06:45
  • JSON vs Git database
    03:57
  • Preview03:52
  • Hash functions overview
    03:29
  • SHA1 Hash Function
    10:18
  • How many files Git could store
    04:09
  • Probability theory in Dice game
    04:11
  • Git hash collision probability
    05:56
  • Next lecture is OPTIONAL
    00:27
  • More details on hash collision probability (OPTIONAL)
    27:13
  • Exploring Git objects with git cat-file command
    05:24
  • Create new Git Blob based on the file
    07:56
  • Git blobs don't store filenames
    02:40
  • Contents of Git objects
    Preview10:14
  • What we have so far
    01:56
  • Tree objects in Git
    02:41
  • Git object permissions
    02:25
  • Creating Git Tree object
    09:52
  • Preview04:52
  • Working directory, Staging area and Git repository
    01:55
  • Overview of current files distribution
    03:50
  • Git read-tree
    03:51
  • Read files in the staging area using git ls-files
    01:58
  • Git checkout-index
    03:11
  • How many folders could be created for objects
    02:20
  • Section Summary
    04:20

  • Section 5 Introduction
    00:53
  • PDF - Basic Git operations
    00:02
  • What is Commit
    03:59
  • Configure Git author name and email
    03:50
  • Creating first commit
    04:00
  • Exploring commit object
    05:36
  • Current project state overview
    05:08
  • Basic Git commands
    03:34
  • Adding new file to working directory
    05:43
  • Git files lifecycle
    Preview08:37
  • Stage file
    01:59
  • Unstage file using git rm
    02:57
  • Commit changes
    02:07
  • Exploring changes in Git repository
    07:53
  • Current diagram of Git repository
    06:15

  • Section 6 Introduction
    01:12
  • PDF - Git branches and HEAD
    00:02
  • Preview06:17
  • Overview of the current project state
    01:23
  • Installing GitHub Desktop
    03:36
  • GitHub Desktop Overview
    04:58
  • What is branch in Git
    06:44
  • What is HEAD in Git
    05:31
  • Third commit
    05:22
  • Git repository changes after third commit
    07:12
  • Checkout specific commit
    13:49
  • Why do we need branches
    10:36
  • Git branches management
    03:04
  • Create new branch
    07:20
  • Commit changes in the new branch
    04:35
  • Explore commit in the new branch
    05:31
  • Git reuses blobs with the same contents
    07:34

  • Section 7 Introduction
    00:55
  • Cloning remote repository
    06:01
  • Exploring contents of the cloned repository
    07:52
  • Unpacking Git objects
    04:06
  • Exploring cloned repository in GitHub Desktop
    05:18
  • Installing text editor Visual Studio Code
    02:45
  • Exploring Visual Studio Code
    06:05
  • Commit changes in the cloned repository
    11:34
  • Git diff command
    13:56
  • Overview of the changes
    03:43

  • Section 8 Introduction
    01:14
  • PDF - Merging branches
    00:01
  • Why branches merging is needed
    03:27
  • Fast forward merge
    04:15
  • Merging process
    01:53
  • Fast forward merge in action
    06:57
  • 3-way merge
    05:59
  • Performing 3-way merge
    12:38
  • Observing Git repository after 3-way merge
    06:40
  • Installing SourceTree
    04:00
  • SourceTree in action
    06:34
  • What is merge conflict
    03:05
  • Creating merge conflict
    09:48
  • Observing conflicts in staging area and working directory
    06:44
  • Resolving merge conflict in Terminal
    03:00
  • Resolving conflicts in VS Code
    09:00

  • Section 9 Introduction
    00:55
  • PDF - GitHub and remote repositories
    00:02
  • What is Git hosting service
    03:35
  • Creating GitHub account
    03:32
  • Now default branch for new repositories at GitHub is "main"
    00:16
  • Exploring first repository at GitHub
    11:00
  • Creating another commit at GitHub
    02:56
  • Creating new branch at GitHub
    01:25
  • Making changes in the new branch
    04:22
  • Cloning remote repository
    05:14
  • What is remote repository
    02:55
  • How remote repository empowers collaboration
    04:03

  • Section 10 Introduction
    01:35
  • PDF - Git push, fetch and pull
    00:02
  • Overview of the push, fetch and pull Git commands
    06:15
  • What is origin
    04:17
  • List remote and local branches
    03:04
  • What is tracking branch
    04:59
  • Checkout remote branch
    03:55
  • Git remote show origin
    03:08
  • Git fetch in action
    06:22
  • Git pull is 2-step process
    03:54
  • How to perform git pull
    05:08
  • What is FETCH_HEAD
    08:24
  • Git pull with fast forward merge
    07:37
  • Fetch remote changes manually
    09:09
  • Merge FETCH_HEAD manually
    06:05
  • Resolving conflicts during Git pull
    11:58
  • Pushing to remote repository
    09:27
  • Commit under another author
    02:42
  • Remote and local branches are in sync now
    03:34
  • Create remote branch based on local branch
    08:52
  • Update tracking statuses of the branches
    07:59
  • Remove remote branch using local terminal
    03:52
  • Git show-ref
    04:24

Requirements

  • We will start from the very beginning, from basic Git features and move on to advanced techniques and operations
  • Prepare only your Mac, Windows or Linux/Unix computer. Anything will work.
  • If you are new to Git, please start from the very beginning: learn how Git works and how to perform basic operations (git add, git commit, git branch)
  • If you are advanced Git user I highly recommend you to watch "How Git works under the hood" section and then jump to advanced Git features like squashing, cherry-picking etc.

Description

This course is all about Git and GitHub.

Understand HOW Git works and learn all Git features from basic commits to squashing and rebasing.

  • Blobs, Trees, Annotated tags, SHA1 hashes

If those terms are new to you - jump in and you will learn all about Git internals and afterwards practice basic and advanced Git features using multiple practice activities.

Become a master of Git, GitHub, GitHub Desktop, SourceTree and Visual Studio Code.


This is the most complete practical Git and GitHub guide here on Udemy that includes tons of practical activities. Most important is that you will learn how Git works and knowing it you will be able much more easier use Git features and fix mistakes in your development workflow. You can have zero knowledge about Git and GitHub. All will be taught from scratch, from basic to advanced features. If you want to get deep knowledge of Git and GitHub this course is for you!


We will start by exploring internal structure of the Git repository. You will learn that Git has 4 types of objects: blobs, trees, commits and annotated tags. Each object has unique SHA1 hash. Also all objects are stored in the folders. Every object has just single reference to it - SHA1 hash. Files are stored in blobs. Filenames are stored in other Git objects called trees.

I will explain you how to create new Git objects without using git commit and git add. After creating Git object in the Git repository you will checkout it to staging area and working directory (opposite direction to traditional Git flow)

Afterwards we will jump into tons of practice activities and use different Git and GitHub features

In practice sections you will perform multiple practice Git activities:

  1. Initialize new Git repository

  2. Make changes, add them to staging area and commit

  3. Create branches, checkout branches and merge branches

  4. Perform fast-forward and 3-way merges of the branches

  5. Resolve merge conflicts

  6. Move into detached HEAD state and make experimental commits there

  7. Perform rebasing of the branches

You will also learn and practice different GitHub features

  1. Connect local and remote repositories

  2. Pushing, fetching and pulling operations

  3. Open Pull Request

  4. Merge Pull Request

  5. Add software versions using Git Tags

  6. Create forks from other repositories

  7. Contribute to public repositories using technique of forks and pull requests

  8. Perform rebasing with squashing

You will use not just terminal and shell commands for performing Git operations. In parallel you will also use GUI applications that simplify routine day-by-day Git operations:

  • GitHub Desktop

  • SourceTree

  • VisualStudio Code

With this course you will get lifetime-long access to almost 200 lectures and tens of practical exercises. After the course you will become a guru of Git and GitHub and will be able easily perform basic and advanced Git tasks.

But most important is that you will UNDERSTAND Git.

You will also get 30-days money-back guarantee. No questions asked!

Don't wait and join the course now!

Who this course is for:

  • You could be either complete beginner or experienced developer with years of usage of Git
  • You may know how to USE Git but you may not know HOW Git works
  • If you want to learn HOW and WHY Git and GitHub work - this course is for you!

Featured review

Eitan Shapirshtein
Eitan Shapirshtein
25 courses
16 reviews
Rating: 5.0 out of 510 months ago
The course is well explained. The instructor keeps it short and engaging and shows knowledge on the subject. I came to here with zero knowledge of git and now i feel confidence and sureness on contribute to open source unity3D projects. I highly recommend this course.

Instructor

Bogdan Stashchuk
Software Engineer, CCIE #22608, MBA, PhD - stashchuk.com
Bogdan Stashchuk
  • 4.6 Instructor Rating
  • 6,276 Reviews
  • 156,188 Students
  • 13 Courses

Do you really want to understand and practice instead of sitting and watching long presentations or trying to code along without any clue what is happening behind the scenes?

Join me in any of my courses and you will get real knowledge based on the deep understanding of every single topic.

But who am I?

My name is Bogdan Stashchuk and I teach students more than 20 years. I am working as Software Engineer and love to teach and learn myself.

I have a huge experience in explaining difficult things in an easy to understand format backed up with practice activities. That is the perfect combination that enables you to really learn and retain gained knowledge for a long period of time.

Let's connect in the Social Networks! All links you could find under the profile picture.

See you on my courses!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.