
Discover how version control systems, including Git, GitHub, and GitLab, manage changes to source code through branching, workflows, and historical tracking.
Introduce git as a free, open source distributed version control system for tracking changes and enabling concurrent work on small to large projects, with a Windows installation guide.
Download the git windows installer, run the exe with default options, choose the correct folder and architecture, configure git after installation, and verify with git version.
Explore the fundamentals of version control, including what it is, its benefits, types, and examples like Git, through a five-question quiz and revision of core concepts.
Master git basics by understanding repositories (bare and non-bare), configuring user name and email, and local-remote workflows with cloning, then branching, committing, and merging.
Explore git workflow concepts within a version control system, including centralized, feature, develop, git flow, and fork workflows, plus staging area states of modified, staged, and committed.
Master the basics of version control by creating a git repository, configuring user details, managing branches, staging changes, and recording commits with clear messages.
Navigate git basics in lab session part-2, focusing on merging two branches, fast-forward and three-way merges, and resolving merge conflicts using master, develop, and feature branches.
Master git basics by learning how to undo uncommitted and staged changes with checkout, reset, revert, and restore, and apply cherry-pick to move commits between branches.
Review git basics, including initializing repositories, configuring user info, checking status, viewing history with git log, staging with git add, committing, branching, merging, diff, and deleting branches.
practice version control basics by creating a folder, adding two files named txt file and output txt file, staging and committing them, then reviewing all git logs.
Learn to initialize a git repository, create files with mkdir, echo, or touch; stage with git add, check status, commit with -m, and view history with git log.
Create git working directory with feature1.txt and feature2.txt on master, create develop and feature1 branches, add develop.txt in develop, then stage and commit feature1.txt in feature1, and commit in develop.
Walks through the assignment 2 solution in the git bootcamp, including creating a working directory, initializing the repo, making feature1.txt and feature2.txt, and managing branches, stashing, and commits.
Explore advanced git concepts, including the difference between git log and reflog, local history, and using git stash with apply and pop to manage changes across branches.
Learn how git hooks run scripts before or after events, and how pre-commit hooks enforce code format and standards locally via the hooks directory inside the git directory.
Learn how git interactive rebase rewrites commit history to produce a clean, linear history, using pick, edit, squash, and drop while resolving conflicts.
Learn how git aliases shorten commands, configure shortcuts with git config, and boost workflow efficiency by using global or local aliases and verifying with git config list.
Use git submodules to include an external repository with its own commit history. Use git subtree to insert the full history into a subdirectory, noting its higher update complexity.
Revisit key git concepts in this module 3 quiz, including git hooks, reflog, interactive rebase, aliases, submodules versus subtrees, and how hooks are created and used.
Explore git hooks by implementing a pre-commit hook that enforces code formatting in committed files, and learn how to set up and activate the hook in a git repository.
Create three custom git aliases for commonly used git commands such as status, add, and commit, and specify which to use in your submission for this assignment.
Learn how to create and enable a pre-commit git hook to enforce code formatting, with a sample script and steps to activate in the repository.
Learn how to create three custom git aliases to simplify status, add, and commit commands by configuring global aliases with git config, enabling efficient version control workflows.
Learn how to use GitHub for version control and collaboration, creating and managing repositories, forking and cloning, pushing and pulling changes, pull requests, issues, readme file, and project settings.
Learn how to collaborate on GitHub by creating pull requests, conducting code reviews, and merging changes between branches with options like rebase or squash, while managing collaborators.
Learn how to add a local repository to a remote GitHub repository, push changes to master, manage branches like develop, and handle pull requests for merging.
Master GitHub branching strategies and workflows, including feature branching and GitHub flow, and learn to manage develop and main branches with pull requests for parallel development and clear collaboration.
Explore how GitHub actions automate workflows directly in your repository, triggering on events, running jobs and steps, and handling builds, tests, and deployments as a ci/cd platform using YAML.
Learn to host a free static website from a GitHub repository using GitHub pages. Create a repo, add HTML, push to main, and enable pages to publish your site.
This quiz review reinforces core git and github concepts, including version control, repositories, cloning, commits, branching, pull request, forking, push/pull, gitignore, and merge vs rebase.
Create a public GitHub repository named hello world with a readme, add hello.txt, and push changes through a feature branch, then merge to main via a pull request.
Set up a GitHub repository and enable GitHub pages to publish a live HTML page. Create a GitHub action workflow to deploy to GitHub pages with a simple YAML file.
Explore GitLab as a web-based DevOps lifecycle tool offering Git repositories, CI/CD pipelines, code review, and issue tracking. Learn sign-up steps and how Kubernetes integration and private repositories boost collaboration.
Explore the GitLab user interface by creating a project, adding code, and navigating features like issues, merge requests, CI/CD, and readme setup. Learn importing projects from GitHub and applying templates.
Discover how GitLab ci cd automates builds, tests, and deployments on every commit, using a .gitlab-ci.yml to define build, test, and deploy stages in a pipeline.
Explore how to create and manage a GitLab merge request, including selecting source and target branches, adding a description, reviewers, labels, and merging or closing the request.
Navigate GitLab groups and subgroups to organize projects, manage permissions and visibility, invite members, and track activity: push events, merge requests, issues, and wiki; subgroups nest up to 20 levels.
Explore GitLab container registry to store, manage, and distribute Docker images within GitLab, enabling streamlined CI/CD with built-in image scanning, versioning, and private access.
learn to store and manage docker images using the GitLab container registry by installing docker, authenticating, building an nginx-based image, and pushing via ci/cd workflow.
Learn to publish static websites from GitLab repositories using GitLab pages, including hosting docs, project sites, and personal blogs, enabling pages, configuring domains, and optionally deploying via CI/CD.
Explore GitLab as a version control system and collaboration platform, and master its core features, including ci/cd pipelines, merge requests, issues, access control, pages, and the container registry.
Execute a full GitLab workflow: create a project, clone, add README.md, stage and commit, push, work on a feature branch, open and merge a merge request, then clean up.
Learn effective git usage with atomic commits, branching strategies, pull requests, descriptive commit messages, and essential practices like gitignore and hooks for clean, collaborative projects.
Secure git workflows with ssh keys or personal access tokens and two-factor authentication. Enforce access controls, protect sensitive data with env files, review logs, and keep dependencies updated.
Master git tips and tricks to customize configuration, use aliases, stash changes, review history, amend commits, manage multiple work trees, and leverage hooks and visualization tools.
Unlock the full potential of version control and collaborative development with our comprehensive course on Git and GitHub. Designed for beginners and advanced users alike, this course will guide you through essential concepts, practical workflows, and advanced techniques to boost your productivity and streamline your development process.
What You Will Learn:
Module 1: Introduction to Version Control
Understanding Version Control: Learn the importance of version control in software development.
Introduction to Git: Discover the basics of Git, the most popular version control system.
Installation and Configuration: Get Git up and running on any platform and configure essential settings.
Module 2: Git Basics
Creating a Repository: Initialize and clone Git repositories.
Git Workflow: Master the basic Git workflow, including staging and committing changes.
Committing Changes: Learn how to make and commit changes effectively.
Branching and Merging: Explore branching strategies and merge branches seamlessly.
Resolving Conflicts: Understand and resolve merge conflicts with ease.
Undoing Changes: Revert commits and discard unwanted changes.
Module 3: Advanced Git Concepts
Git Log and Reflog: Analyze repository history with powerful Git commands.
Git Hooks: Automate tasks with Git Hooks.
Interactive Rebase: Rewrite commit history like a pro.
Git Aliases: Create custom Git commands for efficiency.
Submodules and Subtrees: Manage complex projects with submodules and subtrees.
Module 4: Introduction to GitHub
Getting Started with GitHub: Set up your GitHub account and profile.
GitHub Repositories: Create, fork, and clone repositories on GitHub.
Collaboration on GitHub: Master pull requests and code reviews.
Module 5: GitHub Branching and Workflows
GitHub Branching Strategies: Implement effective branching strategies.
GitHub Actions: Automate workflows with GitHub Actions for CI/CD.
GitHub Pages: Host static websites using GitHub Pages.
Module 6: Introduction to GitLab
Getting Started with GitLab: Create and navigate your GitLab account.
GitLab Repositories: Manage repositories and import projects on GitLab.
GitLab CI/CD: Configure CI/CD pipelines for automated testing and deployment.
GitLab Merge Requests: Streamline code reviews with merge requests.
Module 7: GitLab Advanced Features
GitLab Groups and Subgroups: Organize code with groups and subgroups.
GitLab Container Registry: Manage Docker images with GitLab’s Container Registry.
GitLab Pages: Host static websites with GitLab Pages.
Module 8: Git Best Practices and Tips
Effective Git Usage: Follow best practices for commits, branching, and collaboration.
Git Security Best Practices: Secure your Git repositories and workflows.
Git Tips and Tricks: Boost your productivity with advanced Git commands and tips.
Additional Key Skills You Will Master:
Understanding Git Internals: Understand how Git works behind the scenes.
Git Objects: Explain the difference between Git objects: trees, blobs, commits, and annotated tags.
Essential Git Workflow: Master the essential Git workflow: adding & committing.
Working with Git Branches: Create and manage branches effectively.
Merging and Conflict Resolution: Perform Git merges and resolve merge conflicts.
Using Git Diff: Use Git Diff to reveal changes over time.
Git Stashing: Master Git stashing for temporary work storage.
Undoing Changes: Undo changes using git restore, git revert, and git reset.
Local and Remote Repositories: Work with local and remote repositories.
Collaboration Workflows: Master collaboration workflows such as pull requests and "fork & clone".
Interactive Rebase: Squash, clean up, and rewrite history using interactive rebase.
Retrieving Lost Work: Retrieve "lost" work using git reflogs.
Custom Git Aliases: Write custom and powerful Git aliases.
Git Tags: Mark releases and versions using Git tags.
Hosting with GitHub Pages: Host static websites using GitHub Pages.
Markdown READMEs: Create comprehensive markdown READMEs.
GitHub Gists: Share code and snippets using GitHub Gists.
Why Enroll in This Course?
Comprehensive Curriculum: Covers everything from basic Git commands to advanced GitHub and GitLab features.
Hands-On Labs: Practical sessions to reinforce your learning.
Assignments and Quizzes: Test your knowledge and skills.
Expert Guidance: Learn from experienced instructors with real-world insights.
Career Advancement: Equip yourself with skills in high demand by employers.
Enrol now and become a Git and GitHub expert, capable of managing complex projects and collaborating seamlessly with your team. Whether you're a beginner or looking to enhance your existing skills, this course is your pathway to mastering version control and collaborative development.