Full Stack Web Development_FS109: Version Control with Git
About Course
- Welcome to the Version Control with Git course, a comprehensive 48-hour exploration
of the worlds most widely used version control system. - In this course, you will journey from the fundamental principles of version control to advanced Git workflows, learning how to track changes, collaborate seamlessly, and manage projects effectively.
- Whether you are a software developer, project manager, or aspiring Git expert, this
course equips you with the knowledge and hands-on experience needed to harness
Gits full potential. - Get ready to streamline your development processes, enhance collaboration, and ensure the integrity of your codebase as we dive deep into the world of Git version control.
After completion of the course, students are expected to be able to:
- Develop a strong command of Gits fundamental concepts, including repository
management, branching, merging, and conflict resolution to efficiently track and
control changes in your projects. - Demonstrate Git collaboration strategies, such as forking, pull requests, code
reviews, and integrating Git with collaborative platforms like GitHub, GitLab, and
Bitbucket, fostering efficient teamwork. - Apply knowledge in Gits internal workings, understanding how Git stores data,
manages commits, and handles branches and tags to troubleshoot and optimize
Git repositories effectively. - Create Git workflows to suit project needs, whether it’s adopting a feature
branching model, implementing GitFlow, or incorporating Continuous Integration
(CI) and Continuous Deployment (CD) pipelines, optimizing development
processes. - Implement best practices for efficient Git usage, including commit message
conventions, code review etiquette, and repository structuring, ensuring
consistency, clarity, and maintainability of projects.
Course Content
Module 1
-
Topic 1: Introduction to Git and Version Control Systems
00:00 -
LO1: Define Version Control Systems and their importance in software development.
00:00 -
LO2: Explain the basic concepts and terminology of Git.
00:00 -
LO3: Differentiate Git from other Version Control Systems.
00:00 -
Topic 2: Installing Git
00:00 -
LO1: Identify system requirements for Installing Git.
00:00 -
LO2: Install Git on different Operating Systems.
00:00 -
LO3: Explain Git installation using command-line tools.
00:00 -
Topic 3: Creating and Managing Local Repositories
00:00 -
LO1: Create a local Git Repository using initialization commands.
00:00 -
LO2: Organize files within a Git Repository.
00:00 -
LO3: Explain to Manage Repository structure for effective Version Control.
00:00 -
QUIZ I
-
Topic 4: Tracking Changes – add, commit, and status Commands
00:00 -
LO1: Use Git Status to monitor file changes.
00:00 -
LO2: Apply Add and Commit commands to track changes.
00:00 -
LO3: Demonstrate proper commit practices using meaningful messages.
00:00 -
Topic 5: Understanding the Git Lifecycle and Staging Area
00:00 -
LO1: Explain the stages of the Git File Lifecycle.
00:00 -
LO2: Illustrate the role of the Staging Area in Git.
00:00 -
LO3: Explain how to apply Lifecycle concepts to manage file states effectively.
00:00 -
Topic 6: Working with Branches – Creating, Switching, and Deleting
00:00 -
LO1: Explain the purpose of Branching in Git.
00:00 -
LO2: Create and switch between Branches using Git commands.
00:00 -
LO3: Explain how to Delete branches safely after development is complete.
00:00 -
QUIZ II
-
Topic 7: Merging Branches
00:00 -
LO1: Explain the concept of Branch Merging in Git.
00:00 -
LO2: Perform Branch Merges using appropriate Git commands.
00:00 -
LO3: Evaluate Merge outcomes for correctness and consistency.
00:00 -
Topic 8: Undoing Changes – Revert, Reset, and Checkout
00:00 -
LO1: Differentiate between Revert, Reset, and Checkout commands.
00:00 -
LO2: Apply undo commands to correct repository changes.
00:00 -
LO3: Select appropriate undo strategies for different scenarios.
00:00 -
Topic 9: Understanding Git Internals – Commits, Blobs, and Trees
00:00 -
LO1: Understand core Internal objects used by Git.
00:00 -
LO2: Explain the relationship between Commits, Blobs, and Trees.
00:00 -
LO3: Analyze how Git stores and tracks version history Internally.
00:00 -
Topic 10: Resolving Merge Conflicts
00:00 -
LO1: Understand causes of Merge Conflicts in Git.
00:00 -
LO2: Resolve Merge Conflicts using appropriate tools and commands.
00:00 -
LO3: Validate conflict resolutions to ensure repository integrity.
00:00 -
Topic 11: Configuring Git
00:00 -
LO1: Define the Configure Git user settings and preferences.
00:00 -
LO2: Modify repository-level and global Configuration options.
00:00 -
LO3: Explain how to apply Git Configuration to support collaborative workflows.
00:00 -
FINAL EXAM