Learn Git and GitHub - Fastrack Your Journey to Git!
Intro Video
NeedForVersionControlSystem and Git Part 1
NeedForVersionControlSystem and Git Part 2
VCS-How it works
DistributedVCS
InstallingGit
Git CLI vs Git Bash vs Git GUI
Basic Bash Commands
What exactly is Git Commit
Initilizing the project and Exploring dot git folder
Configuring Git Credentials and exploring local global system configs
Staging and Unstaging and checking status
Understanding Commit with multiple usecases
Sha1 Hashing Algorithm
Git Internals (All about Object Database) Part 1
Git Internals (All about Object Database) Part 2.zip
Git Internals - Viewing and reading Git Objects
Garbage Collection and Pack Files
Git Snapshot - What it means to take a snapshot
How Blob Objects Behave
Time travel with Git
Time Travel in Practice
Life without Branches
What are Git Branches
How Branches Solved our Problems
How Git Branches Work and What Exactly is a Branch
Branches in Action (Creating Branches and exploring the git repo)
Understanding _HEAD_ - Detached Head State - Head in Action.
Undo the changes with Git Reset HEAD
Retrieving the lost mystery with reflog
Fast-Forward Merge
Fast-Forward Merge In Action
Deleting the branch and recovering
Understanding Three Way Merge and Merge Commit
Three Way Merge in Action
Understanding Merge Conflicts
Merge Conflicts in Action Part 1
Merge Conflicts in Action Part 2
Installing and setting up Visual Studio Code to work on Git
Exploring VS Code and performing GIT Operations
Git Rebase vs Merge
Performing Rebase in VS Code _ Handling conflicts
Git Rebase in Git Bash - Skipping conflicts and Aborting the Rebase
Git Interactive Rebase
Rebase to specific commit or to another feature branch
When to use rebase and when to use Merge - usecases
What is Stashing - It_s usecases - Example of Stashing
Applying the stash across multiple branches
Retriving a specific stash - Listing stashes - Handling conflicts
Stashing Selective Changes and retrieving them - Understanding Hunk
Exploring stashing in VS Code - Deleting a stash
Git Ignore and it_s significance (Crash course)
Git Ignore in action - Global exclude config
Precedence order - overriding - Pattern debugging
Ignore files that were already committed
Generating the Ignore files for your project
Why GitHub - GitHub vs Bit Bucket vs GitLab
Creatig GitHub Account
Creating and understanding Public and Private repositories in GitHub
Making Commits in GitHub and Understanding ReadMe file
Creating Branch and committing changes - Managing branches in GitHub
Cloning a public repo and exploring other options
Cloning a Private Repository and adding project collaborators on GitHub
Understanding Tracking Branches and Default branch
Exploring Tracking branches - Configuring Default branch - Understanding Origin-Head
Understanding origin remote - adding, editing, deleting remotes
Understand Git Fetch and it_s usecases
Git Fetch in Action Part1 (Command variations - Checking status with commands)
Git Fetch in Action Part2 (Exploring refs - FETCH_HEAD)
Switching to Remote Repo State
Merging the Changes - Using FETCH_HEAD
Using Visusal Studio code to Fetch and Merge
Updating Local References with Git Fetch
Understanding Git Pull
Git Pull in Action and observing what it does
Understanding Git Pull with 3way merge
GIt pull with rebase and it_s implications
Dealing with conflicts with Git Pull --rebase
Using Stashing and Hard reset
Setting up everything for contributing - Adding collaborator - Setting credentials and making commits
Creating a remote branch and pushing changes using Git Bash and VSCode - Pushing to all branches
Understanding Pull Request - Raising a Pull Request
Understanding protected branches - Applying branch protection rule - Mandating Code Reviews
Reviewing and approving the changes - Working on review comments and publishing new changes
Exploring the merging options - Understading Squashing commits - Deleting remote branch from local machine
What Git Pull Actually Does
Resolving conflicts on GitHub the right way - Force pushing changes and it_s consequences
Divide and Conqr Strategy
Resolving Conflicts by merging main in to feature branch
What is Forking and why forking
Forking a public repository and cloning it in our local machine
Contributing the necessary changes
Syncing the Forked repo with original one and updating local
Syncing the Forked repo with original from local repo
Pushing our changes to the forked repo
Raising the pull request and merging the changes in upstream repository
Exploring Existing Public Project
Branching Strategy Explained
Branching Strategy with Realtime Scenario
Semantic Versioning Explained
Understanding Git Tags
Braching Workflow in Action
Hot Fix workflow in Action
Creating Tags - Annotated vs Lightweight Tags - Pushing tags to remote
Understanding how Tags are stored - Detached head state with tags
Releases and Creating Tags on GitHub
Dismiss stale pull request approvals for new commits
Configuring Code Owners with patterns - Automatic review request
Mandating conversation resolution before merging
Exploring all other branch protection rules
Mimicing the Commits and the need to have vetified commits
Understanding Digital Signatures
Understanding Signed Commits
Createing Public and Private Keys Using GPG
Exporting Public Key and updating GPG key on GitHub
Making Signed Commit - Setting global config - verifying signed commits on GitHub
Mandating Signed Commits - Signing commits from VS Code