Learn Git And Github - Fasttrack Your Journey To Git!

Posted By: ELK1nG

Learn Git And Github - Fasttrack Your Journey To Git!
Published 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.86 GB | Duration: 9h 52m

Learn complete Git and GitHub - The most In-demand IT Skill

What you'll learn

Master Git and GitHub for your new Job role

Kick start your DevOps Journey with Git

Understand how to manage team projects on GitHub

Learn how to contribute to Open Source Projects & increase your profile credibility

Learn the best practices & avoid typical mistakes

Actively involve team

Confidently answer tricky interview questions related to Git and GitHub

Learn end-to-end Git and GitHub

Requirements

You will learn everything you need to know about Git and GitHub

Commitment and dedication to learn GitHub in it's entirety

You need a laptop or a computer to practice what is taught in the course

Description

Git is a Version Control System, where as GitHub is a centralized repository to host the code and enable team collaboration.In this course, you will learn about Git and GitHub and all the concepts pertaining to them. This course also talks about the use cases and workflows that you need to know as a developer.You will not only understand the core part of Git and GitHub and how it works under the hood, but we will also explore a host of concepts that are crucial for you to understand before you start contributing to Git projects.Who can take this course? Individuals seeking to advance their careers in IT or enter a new job role where knowledge of git and github is required.People who are getting started with their software developer journeyManagers or team leads who lead a projectPeople who want to get started with their DevOps journeyPassionate learners who want to upgrade their skills for better job prospectsIn this course, you will also learn how to contribute to open source projects and build your online presence or credibility.This course will teach you everything you need to know about Git and GitHub, and you don't have to refer to any other sources.This course comes with a 30 day refund policy. If you didn't like the course for whatever reason, you can ask for a full refund.Few reasons to learn Git and GitHub:GitHub has over 100 million repositories (source: GitHub).Over 72 million developers from around the world use GitHub (source: GitHub).GitHub is home to over 40 million registered users (source: GitHub).The most popular programming languages on GitHub are JavaScript, Python, Java, TypeScript, and Ruby (source: GitHub).Over 31 million GitHub repositories are public (source: GitHub).The most popular license for GitHub repositories is the MIT License, followed by the GNU General Public License (source: GitHub).Microsoft acquired GitHub in 2018 for $7.5 billion (source: The Verge).These statistics demonstrate the popularity and widespread use of GitHub among developers and the programming community.What is GitHub?GitHub is a web-based platform for software developers to store and share their code with others. It provides version control through Git, which allows developers to keep track of changes to their code, collaborate with others, and easily roll back to previous versions if needed. GitHub also offers a range of features, such as issue tracking, project management tools, and code review capabilities, to help teams work together more effectively. It has become a popular platform for open-source software development and hosts millions of projects, ranging from small personal projects to large enterprise software.Why GitHub is used for software development:Version Control: GitHub uses Git, which is a powerful and widely used version control system. It allows developers to keep track of changes to their code and collaborate with others, ensuring that everyone is working on the same version of the code.Collaboration: GitHub provides a platform for developers to work together on projects, whether they are in the same office or on opposite sides of the world. Teams can easily share code, review changes, and collaborate on new features.Community: GitHub is a hub for open source projects, providing a platform for developers to contribute to projects created by others. This fosters a community of developers who can share knowledge and collaborate on projects.Code Review: GitHub provides tools for code review, allowing team members to easily review and comment on each other's code. This helps ensure that code is of high quality and meets the project's requirements.Project Management: GitHub provides tools for project management, including issue tracking and milestones. This allows teams to keep track of project progress, identify and prioritize issues, and set goals for the project.Integration: GitHub can be integrated with many other tools and services, such as continuous integration and deployment (CI/CD) tools, which help automate the development process and ensure that code is deployed to production environments quickly and efficiently.High-level overview of what you will learn:Git: Git is a popular version control system that allows you to track changes to code and collaborate with others. Understanding how Git works and how to use it is essential for working with GitHub.Repositories: A repository is a central location for your code. You can create a new repository on GitHub, and then upload your code to it. Repositories can be either public or private, and they can be used to collaborate with others or manage your own projects.Branches: Branches are used in Git to isolate changes to code and work on new features or fixes. Understanding how to create and manage branches is important for working with Git and GitHub.Pull Requests: Pull requests are a way to propose changes to code and collaborate with others. They allow you to submit changes to a repository and have them reviewed by others before they are merged into the main codebase.Issues: Issues are used to track bugs, feature requests, and other tasks. They can be used to manage projects and prioritize work, and they can be assigned to specific users to ensure that work is distributed effectively.Collaborating with others: GitHub provides a range of tools for collaborating with others, including pull requests, code reviews, and issue tracking. Understanding how to use these tools is essential for working with others and ensuring that code is of high quality.Project management: GitHub provides tools for project management, including issue tracking and milestones. Understanding how to use these tools can help you manage your own projects more effectively, as well as contribute to larger projects that use GitHub for project management.This is only a high level overview. Below are the topics covered in this course (By the time of this writing)Section 1:IntroductionNeed For Version Control System and Git Part 1Need For Version Control System and Git Part 2VCS-How it worksDistributed VCSInstalling GitGit CLI vs Git Bash vs Git GUIBasic Bash CommandsWhat exactly is Git CommitInitializing the project and Exploring dot git folderConfiguring Git Credentials and exploring local global system configsStaging and Unstaging and checking statusUnderstanding Commit with multiple use casesSection 2:Git Deep DiveSha1 Hashing AlgorithmGit Internals (All about Object Database) Part 1Git Internals (All about Object Database) Part 2Git Internals - Viewing and reading Git ObjectsHow Blob Objects BehaveGarbage Collection and Pack FilesGit Snapshot - What it means to take a snapshotTime travel with GitTime Travel in PracticeSection 3:Git BranchesLife without BranchesWhat are Git BranchesHow Branches Solved our ProblemsHow Git Branches Work and What Exactly is a BranchBranches in Action (Creating Branches and exploring the git repo)Understanding 'HEAD' - Detached Head State - Head in Action.Undo the changes with Git Reset HEADRetrieving the lost mystery with reflogSection 4:MergingFast-Forward MergeFast-Forward Merge In ActionDeleting the branch and recoveringUnderstanding Three Way Merge and Merge CommitThree Way Merge in ActionUnderstanding Merge ConflictsMerge Conflicts in Action Part 1Merge Conflicts in Action Part 2Installing and setting up Visual Studio Code to work on GitExploring VS Code and performing GIT OperationsSection 5:Git RebaseGit Rebase vs MergePerforming Rebase in VS Code & Handling conflictsGit Rebase in Git Bash - Skipping conflicts and Aborting the RebaseGit Interactive RebaseRebase to specific commit or to another feature branchWhen to use rebase and when to use Merge - use casesSection 6:StashingWhat is Stashing - It's use cases - Example of StashingApplying the stash across multiple branchesRetrieving a specific stash - Listing stashes - Handling conflictsStashing Selective Changes and retrieving them - Understanding HunkExploring stashing in VS Code - Deleting a stashSection 7:Git IgnoreGit Ignore and it's significance (Crash course)Git Ignore in action - Global exclude configPrecedence order - overriding - Pattern debuggingIgnore files that were already committedGenerating the Ignore files for your projectSection 8:Git HubWhy GitHub - GitHub vs Bit Bucket vs GitLabCreating GitHub AccountCreating and understanding Public and Private repositories in GitHubMaking Commits in GitHub and Understanding ReadMe fileCreating Branch and committing changes - Managing branches in GitHubSection 9:Getting Started as CollaboratorCloning a public repo and exploring other optionsCloning a Private Repository and adding project collaborators on GitHubUnderstanding Tracking Branches and Default branchExploring Tracking branches - Configuring Default branch - Understanding OrUnderstanding origin remote - adding, editing, deleting remotesSection 10:Git FetchUnderstand Git Fetch and it's use casesGit Fetch in Action Part1 (Command variations - Checking status with commanGit Fetch in Action Part2 (Exploring refs - FETCH_HEAD)Switching to Remote Repo StateMerging the Changes - Using FETCH_HEADUsing Visual Studio code to Fetch and MergeUpdating Local References with Git FetchSection 11:Git PullUnderstanding Git PullGit Pull in Action and observing what it doesUnderstanding Git Pull with 3way mergeGit pull with rebase and it's implicationsDealing with conflicts with Git Pull –rebaseUsing Stashing and Hard resetSection 12:Contributing to the remote repositorySetting up everything for contributing - Adding collaborator - Setting credCreating a remote branch and pushing changes using Git Bash and VSCode - PuUnderstanding Pull Request - Raising a Pull RequestUnderstanding protected branches - Applying branch protection rule - MandatReviewing and approving the changes - Working on review comments and publisExploring the merging options - Understanding Squashing commits - DeletingWhat Git Pull Actually DoesResolving conflicts on GitHub the right way - Force pushing changes and it'Divide and Conquer StrategyResolving Conflicts by merging main in to feature branchSection 13:13 Forking and Contributing to Opensource ProjectsWhat is Forking and why forkingForking a public repository and cloning it in our local machineContributing the necessary changesSyncing the Forked repo with original one and updating localSyncing the Forked repo with original from local repoPushing our changes to the forked repoRaising the pull request and merging the changes in upstream repositoryExploring Existing Public ProjectSection 14:Branching Strategy and TagsBranching Strategy ExplainedBranching Strategy with Realtime ScenarioSemantic Versioning ExplainedUnderstanding Git TagsBraching Workflow in ActionHot Fix workflow in ActionCreating Tags - Annotated vs Lightweight Tags - Pushing tags to remoteUnderstanding how Tags are stored - Detached head state with tagsReleases and Creating Tags on GitHubSection 15:Branch Protection RulesDismiss stale pull request approvals for new commitsConfiguring Code Owners with patterns - Automatic review requestMandating conversation resolution before mergingExploring all other branch protection rulesSection 16:Digital Signatures and Verified commitsMimicking the Commits and the need to have verified commitsUnderstanding Digital SignaturesUnderstanding Signed CommitsCreating Public and Private Keys Using GPGExporting Public Key and updating GPG key on GitHubMaking Signed Commit - Setting global config - verifying signed commits onMandating Signed Commits - Signing commits from VS CodeSection 17:Git HooksWhat are Git HooksDemonstrating Git HookStandardizing Hooks across teamsExplore Other HooksSection 18:Other ConceptsBug Tracing with Git BisectGit Diff to compare and visualize differencesGit Diff to compare branchesAdvanced Git LogAll About GitHub Pages

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Need For Version Control System and Git Part 1

Lecture 3 Need For Version Control System and Git Part 2

Lecture 4 VCS-How it works

Lecture 5 Distributed VCS

Lecture 6 Installing Git

Lecture 7 Git CLI vs Git Bash vs Git GUI

Lecture 8 Basic Bash Commands

Lecture 9 What exactly is Git Commit

Lecture 10 Initializing the project and Exploring dot git folder

Lecture 11 Configuring Git Credentials and exploring local global system configs

Lecture 12 Staging and Unstaging and checking status

Lecture 13 Understanding Commit with multiple use cases

Section 2: Git Deep Dive

Lecture 14 Sha1 Hashing Algorithm

Lecture 15 Git Internals (All about Object Database) Part 1

Lecture 16 Git Internals (All about Object Database) Part 2.zip

Lecture 17 Git Internals - Viewing and reading Git Objects

Lecture 18 How Blob Objects Behave

Lecture 19 Garbage Collection and Pack Files

Lecture 20 Git Snapshot - What it means to take a snapshot

Lecture 21 Time travel with Git

Lecture 22 Time Travel in Practice

Section 3: Git Branches

Lecture 23 Life without Branches

Lecture 24 What are Git Branches

Lecture 25 How Branches Solved our Problems

Lecture 26 How Git Branches Work and What Exactly is a Branch

Lecture 27 Branches in Action (Creating Branches and exploring the git repo)

Lecture 28 Understanding 'HEAD' - Detached Head State - Head in Action.

Lecture 29 Undo the changes with Git Reset HEAD

Lecture 30 Retrieving the lost mystery with reflog

Section 4: Merging

Lecture 31 Fast-Forward Merge

Lecture 32 Fast-Forward Merge In Action

Lecture 33 Deleting the branch and recovering

Lecture 34 Understanding Three Way Merge and Merge Commit

Lecture 35 Three Way Merge in Action

Lecture 36 Understanding Merge Conflicts

Lecture 37 Merge Conflicts in Action Part 1

Lecture 38 Merge Conflicts in Action Part 2

Lecture 39 Installing and setting up Visual Studio Code to work on Git.mp4

Lecture 40 Exploring VS Code and performing GIT Operations

Section 5: Git Rebase

Lecture 41 Git Rebase vs Merge

Lecture 42 Performing Rebase in VS Code & Handling conflicts

Lecture 43 Git Rebase in Git Bash - Skipping conflicts and Aborting the Rebase

Lecture 44 Git Interactive Rebase

Lecture 45 Rebase to specific commit or to another feature branch

Lecture 46 When to use rebase and when to use Merge - use cases

Section 6: Stashing

Lecture 47 What is Stashing - It's use cases - Example of Stashing

Lecture 48 Applying the stash across multiple branches

Lecture 49 Retrieving a specific stash - Listing stashes - Handling conflicts

Lecture 50 Stashing Selective Changes and retrieving them - Understanding Hunk

Lecture 51 Exploring stashing in VS Code - Deleting a stash

Section 7: Git Ignore

Lecture 52 Git Ignore and it's significance (Crash course)

Lecture 53 Git Ignore in action - Global exclude config

Lecture 54 Precedence order - overriding - Pattern debugging

Lecture 55 Ignore files that were already committed

Lecture 56 Generating the Ignore files for your project

Section 8: Git Hub

Lecture 57 Why GitHub - GitHub vs Bit Bucket vs GitLab

Lecture 58 Creating GitHub Account

Lecture 59 Creating and understanding Public and Private repositories in GitHub

Lecture 60 Making Commits in GitHub and Understanding ReadMe file

Lecture 61 Creating Branch and committing changes - Managing branches in GitHub

Section 9: Getting Started as Collaborator

Lecture 62 Cloning a public repo and exploring other options

Lecture 63 Cloning a Private Repository and adding project collaborators on GitHub

Lecture 64 Understanding Tracking Branches and Default branch

Lecture 65 Exploring Tracking branches - Configuring Default branch - Understanding Or

Lecture 66 Understanding origin remote - adding, editing, deleting remotes

Section 10: Git Fetch

Lecture 67 Understand Git Fetch and it's use cases

Lecture 68 Git Fetch in Action Part1 (Command variations - Checking status with comman

Lecture 69 Git Fetch in Action Part2 (Exploring refs - FETCH_HEAD)

Lecture 70 Switching to Remote Repo State

Lecture 71 Merging the Changes - Using FETCH_HEAD

Lecture 72 Using Visual Studio code to Fetch and Merge

Lecture 73 Updating Local References with Git Fetch

Section 11: Git Pull

Lecture 74 Understanding Git Pull

Lecture 75 Git Pull in Action and observing what it does

Lecture 76 Understanding Git Pull with 3way merge

Lecture 77 Git pull with rebase and it's implications

Lecture 78 Dealing with conflicts with Git Pull –rebase

Lecture 79 Using Stashing and Hard reset

Section 12: Contributing to the remote repository

Lecture 80 Setting up everything for contributing - Adding collaborator - Setting cred

Lecture 81 Creating a remote branch and pushing changes using Git Bash and VSCode - Pu

Lecture 82 Understanding Pull Request - Raising a Pull Request

Lecture 83 Understanding protected branches - Applying branch protection rule - Mandat

Lecture 84 Reviewing and approving the changes - Working on review comments and publis

Lecture 85 Exploring the merging options - Understanding Squashing commits - Deleting

Lecture 86 What Git Pull Actually Does

Lecture 87 Resolving conflicts on GitHub the right way - Force pushing changes and it'

Lecture 88 Divide and Conquer Strategy

Lecture 89 Resolving Conflicts by merging main in to feature branch

Section 13: 13 Forking and Contributing to Opensource Projects

Lecture 90 What is Forking and why forking

Lecture 91 Forking a public repository and cloning it in our local machine

Lecture 92 Contributing the necessary changes

Lecture 93 Syncing the Forked repo with original one and updating local

Lecture 94 Syncing the Forked repo with original from local repo

Lecture 95 Pushing our changes to the forked repo

Lecture 96 Raising the pull request and merging the changes in upstream repository

Lecture 97 Exploring Existing Public Project

Section 14: Branching Strategy and Tags

Lecture 98 Branching Strategy Explained

Lecture 99 Branching Strategy with Realtime Scenario

Lecture 100 Semantic Versioning Explained

Lecture 101 Understanding Git Tags

Lecture 102 Braching Workflow in Action

Lecture 103 Hot Fix workflow in Action

Lecture 104 Creating Tags - Annotated vs Lightweight Tags - Pushing tags to remote

Lecture 105 Understanding how Tags are stored - Detached head state with tags

Lecture 106 Releases and Creating Tags on GitHub

Section 15: Branch Protection Rules

Lecture 107 Dismiss stale pull request approvals for new commits

Lecture 108 Configuring Code Owners with patterns - Automatic review request

Lecture 109 Mandating conversation resolution before merging

Lecture 110 Exploring all other branch protection rules

Section 16: Digital Signatures and Verified commits

Lecture 111 Mimicking the Commits and the need to have verified commits

Lecture 112 Understanding Digital Signatures

Lecture 113 Understanding Signed Commits

Lecture 114 Creating Public and Private Keys Using GPG

Lecture 115 Exporting Public Key and updating GPG key on GitHub

Lecture 116 Making Signed Commit - Setting global config - verifying signed commits on

Lecture 117 Mandating Signed Commits - Signing commits from VS Code

Section 17: Git Hooks

Lecture 118 What are Git Hooks

Lecture 119 Demonstrating Git Hook

Lecture 120 Stadardising Hooks across teams

Lecture 121 Explore Other Hooks

Section 18: Other Concepts

Lecture 122 Bug Tracing with Git Bisect

Lecture 123 Git Diff to compare and visualize differences

Lecture 124 Git Diff to compare branches

Lecture 125 Advanced Git Log

Lecture 126 All About GitHub Pages

Anyone who wants to learn Git and GitHub in it's entirety,Anyone who wants to know how to contribute to open source projects,Anyone who aspire to start their career in Cloud/DevOps