Git - Distributed Version Control
Introduction
Introduces the basics of version control, explains the advantages of Git over centralized systems and teaches first commands like add, commit, push/pull as well as Git identity configuration.
Undoing Changes
Covers undoing changes in Git, different states of files (staged, unstaged, committed) and advanced commands for file operations and staging management.
Branches - Basics
Explains the basics of branches, creating and switching between branches, the difference between local and remote branches as well as basic merge operations.
Branches - Advanced
Covers advanced branch concepts like resolving merge conflicts, rebase as an alternative to merge, stash for temporary changes and advanced rebase techniques.
History Rewriting
Focuses on rewriting Git history with interactive rebase, squashing commits, git filter-branch for comprehensive repository cleanup and reflog for recovering lost commits.
Branching Workflows
Introduces various branching strategies like Git Flow, GitHub Flow and Forking Workflow for different project and team requirements.
Advanced Features
Covers advanced Git features like git switch/restore, git bisect for bug hunting, Git LFS for large files and advanced git log filters for complex repository analysis.
Server and Hosting
Explains various Git protocols (SSH, HTTPS, Local), Git hosting options, project management with Git platforms and Markdown for issue creation.
Outlook
Course conclusion with summary of learned concepts, best practices and outlook on advanced Git topics and workflows.