
Explore the basics of git as a version control system, its history, and the setup of GitHub with remote connections, plus core commands like init, add, commit, log, and push.
Understand that prerequisites are minimal: possess basic command-line familiarity on Windows, Linux, or macOS and know how to install software and plugins.
Understand what version control software is, why we need it, and how it tracks changes across client-server and distributed models, supports branching and peer review.
Compare centralized version control, where history stays on a central server, with distributed version control, where each developer has a local repository, can commit offline, and push to share changes.
Examine the basics of centralized versus distributed version control software and review popular open source systems like CVS and Subversion, including their history and enterprise use.
Explore git, a distributed version control system created by Linus Torvalds, used by Google, Facebook, and Netflix, with insights into its history and practical usage.
install git on macOS, Linux, and Windows using terminal commands or installers, with links to download and options like Chocolatey on Windows and various Linux installation methods.
Explore GitHub as the popular online code repository, learn how remote repositories enable cloning, pulling, pushing, branching, and project management with automated pipelines and secure code reviews.
Walk through creating a GitHub account and navigating profile settings, repositories, and organizations, with tips on security, two-factor authentication, and basic project visibility.
Set up ssh key authentication for GitHub by generating a public/private key pair and adding the public key to your account.
Learn the basics of branch, head, and master, and how local and remote repositories interact. Practice essential commands like add, commit, push, pull, and merge, including conflict handling.
Initialize a local git repository with git init to create an empty repo that tracks remote addresses, HEAD, and branches, letting you view history and prepare commits on master.
Configure your git environment with git config, choosing local or global scope, and set your user name and email per repository to interact with remotes.
Learn how to use a .gitignore file to keep outputs, environment variables, and other non committed files out of your repository, and how to configure local and global ignore rules.
Set up an empty repository with git init, inspect the local structure (HEAD, config, logs), configure user details with git config (global vs local), and ignore files you won’t commit.
Learn how to use git add to move files from the working directory to the staging area. Selectively add untracked files, then check git status and manage ignore rules.
Learn how to move files from the staging area to the local repository with git commit, using -m for messages, and handle status before pushing to remote.
Explore how git status reveals the working directory, staging area, and branch, showing untracked, added, modified, and deleted files, with practical options like -s and verbose help.
Learn to use git diff to view changes between working files, staging area, and commits, compare branches like master and feature branches, and understand added, deleted, and modified lines.
Learn to use git stash to save uncommitted work, including staged and untracked files, switch tasks, and reapply or manage stash entries with apply, pop, and list.
Explore git log and git show to inspect history, view diffs and file changes, filter by author or date, and graph branches from the staging area in the repository.
Master basic git workflows by adding or modifying files, staging changes, checking status, and committing, then explore stash, diffs, and logs through hands-on terminal practice.
create and switch branches with git branch and git checkout, explore local and remote branches, view histories, manage deletion, and recreate dangling commits to keep master clean.
Learn to switch branches with git switch, create new branches with -c, return to the previous branch with -, and handle detached HEAD, a modern alternative to checkout.
Git merge combines a feature branch into master, often using fast-forward by default, while concurrent changes trigger a three-way merge with potential conflicts.
Resolve git merge conflicts by manually inspecting and editing conflicted files, then commit and complete the merge into master. Frequently pull and merge feature branches to minimize conflicts.
Tag commits in git with lightweight or annotated tags and decide when to push to a remote like origin. Create, view, and push single or all tags to share releases.
Master branching with git branch and checkout, then merge into master while handling and fixing merge conflicts. Delete merged branches, and manage detached head and dangling commits to reverse changes.
Learn to clone remote repositories with git clone, specify a local directory or branch, and manage origin and master, then explore forking and pull requests for collaboration.
Master the git remote workflow with practical examples: add, rename, and remove remotes; verify connections with remote -v; and push or pull using origin or destination across protocols.
Fetch and inspect remote changes from origin without merging, learn to fetch specific branches or all branches, and prune deleted remote branches with a dry-run option to preview results.
Learn how to use git pull to fetch and merge remote changes into your local branch, handle conflicts, and keep your repository up to date with origin master.
Push changes to a remote repository with git push, including specific branches, all branches, or tags, and delete remote branches. Resolve conflicts by pulling and merging before pushing.
Learn to synchronize a local repo with a remote, resolve unrelated histories conflicts using git pull origin master --allow-unrelated-histories, resolve conflicts with git add and commit, then push.
Learn to clone and manage repositories with git clone, git remote, and fetch, resolve conflicts, merge into master, commit changes, and push after pulling updates.
Learn the essentials of git and GitHub, including configuring a repository, staging, committing, branches, merges, and pushing to remote, with hands-on labs and quizzes.
Master basic git commands and tackle advanced scenarios like merging with another repository and choosing effective workflows. Explore GitHub administration, submodules, blame, and safe history rewriting with GUI tools.
Git, short for Global Information Tracker, stands as one of the foremost Version Control Software (VCS) tools in use today. It plays a crucial role in the realm of Source Code Management (SCM), allowing developers to efficiently track changes in their codebase over time. This course aims to equip you with a comprehensive understanding of Git, from its foundational concepts to practical application through a series of hands-on GitHub exercises.
"This course is really good" - Madhavan R
"Good way of telling things to make users understand. Even for freshers. Thank you very much for your time given to make less things unknown." - Rajesh Sharma
"Thank you so much, this course is awesome." - Ashraful Rahman Sakil
"I really like the content of the course. Introduction of Version controls is explained in very simple with good example which help me to understand easily." - Avinash Jaiswal
"Sanjeev has strong grasp on the subject. His way of teaching is keeping it simple and breaking down complex logic in layman terms." - Sunny Kumar Aditya
The curriculum is meticulously designed to cater to individuals with varying levels of familiarity with Git. Whether you're a complete novice or someone looking to reinforce your grasp of the fundamentals, this course is tailored to meet your needs.
Commencing with the basics, you'll delve into the core concepts of Git. This includes an exploration of repositories - the virtual spaces where your code is stored and managed. You'll gain hands-on experience in setting up repositories, a fundamental skill for every developer.
A pivotal aspect of Git is its ability to capture and preserve changes made to your code. Throughout the course, you'll learn the art of committing changes, an essential practice for maintaining a clean and organized code history. This process ensures that you have a detailed record of alterations, facilitating easy tracking and reverting if necessary.
Additionally, the course delves into the intricacies of synchronizing your local repository with remote repositories hosted on platforms like GitHub. This is a pivotal skill for collaboration, allowing multiple developers to seamlessly integrate their work. You'll learn the ins and outs of pushing and pulling code, ensuring that your local copy remains in harmony with the central repository.
As you progress, you'll encounter the inevitable challenge of handling conflicts. Git provides powerful tools for resolving these conflicts, and you'll become adept at merging changes from different sources, a critical skill for collaborative projects.
By the culmination of this course, you will have developed a robust proficiency in Git and GitHub, enabling you to navigate and contribute to codebases with confidence. Whether you're seeking to enhance your professional development toolkit or simply looking to streamline your personal coding workflow, this course provides the foundational knowledge and hands-on experience needed to excel in version control with Git.
Key concepts covered in Git Fundamentals:
Understanding version control software
How Version control works
Introduction to Git and GitHub
Essential git commands
Setting up repository
Saving changes locally
Syncing repositories
Merging and Branching
What’s Next