
Explore why git, a version control system, solves collaboration, history tracking, and project-management challenges, and begin learning essential commands, git stages, merge, revert, and restoring older versions.
Install git on Windows by downloading the installer, verify with git version, and open git bash from the file explorer. The next lesson covers clone and init.
Learn how to clone and init a repository, clone with http or ssh, configure ssh keys, and connect an existing project to a new empty repository.
Explore git stages, from untracked and modified files through not staged and staged to committed, then pushed to the origin, using git add, reset, commit, and push.
Learn to use the gitignore file to ignore files and folders, such as the idea folder, preventing them from entering the repository, and to add, commit, and push changes.
Inspect the git workflow using git status, git diff, and git log to track file changes, staging, commits, and history, including selecting recent commits with git log -2.
Explore vim basics in terminal: insert and command modes, key commands (i, u, dd, escape), search with / and n, and save or exit using :w, :q, :wq, or :x.
Learn how to use branches and merges in git, including fast forward and no fast forward merges, conflict resolution, and best practices for feature branches.
Learn to revert a specific git commit with a new revert commit, handle conflicts, and use continue or abort options, verified by git status and git log.
Explore how the head represents the latest commit, and use soft and hard resets to move back commits, manage staged changes, and force push to rewrite history on origin main.
Master the git stash by saving and restoring modified and staged changes, and learn to stash untracked files using -u or --all, with commands push, apply, list, drop, and pop.
It's a carefully crafted curriculum, not just a random collection of basic information, but a structured and illustrative approach designed to help you master everything you need for real-life applications, enabling you to work smoothly in large companies. The content is designed to bridge the gap between theory and practice, helping you confidently apply your skills in real-world collaborative environments. Every concept is explained clearly. In this course, you will learn in detail the most important Git commands and understand their impact on the history of changes, ensuring you have both the technical knowledge and the practical mindset required to thrive in professional development teams.
We covered and explained the following topics:
Git stages (untracked files, modified files, not-staged changes, staged changes, Committed changes).
gitIgnore.
Inspecting commands (checking the status of project's files, checking commit history).
Vim (insert mode, command mode).
Merge (fast-forward, no-fast-forward).
Revert.
Reset (soft, hard).
Stash.
By the end of this course, you'll be fully equipped to collaborate effectively with a team on the same project, confidently managing the commit history with precision and consistently adhering to best practices, just like in a professional setting at large organizations where teamwork, organization, and code history control are essential.