Git Essentials for Beginners
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Git Essentials for Beginners
This course is part of Mastering GitHub for Developers and DevOps Specialization
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Identify the core components of Git and explain its purpose in version control.
Describe the differences between branching, merging, and stashing in Git workflows.
Install Git on various operating systems and set up repositories for project tracking.
Resolve merge conflicts and optimize commit history using Git’s advanced features.
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 21 modules in this course
This course features Coursera Coach — your interactive learning companion that helps you test your knowledge, challenge assumptions, and deepen your understanding as you progress.
Build a strong foundation in Git, the version control system used by developers and teams around the world. Designed for beginners, this hands-on course guides you step by step from core concepts to practical workflows, giving you the confidence to manage projects, track changes, and collaborate effectively. You’ll begin by installing Git on Windows, macOS, and Ubuntu, learning how Git works under the hood and why version control is essential in modern software development. Through practical exercises, you’ll master fundamental operations such as adding and editing files, staging and committing changes, and navigating repository history with ease. As you progress, you’ll explore Git’s powerful features, including branching, merging, rebasing, and stashing. You’ll practice working with remote repositories, resolving conflicts, and organizing your project history in a clean, professional way. Each module blends explanation with hands-on tasks so you not only understand Git conceptually, but learn how to apply it to real personal and professional projects. By the end of this course, you will have: - Installed and configured Git across major operating systems. - Managed files, commits, and repository history with confidence. - Worked with branches, merges, rebases, and stash operations. - Resolved conflicts and handled changes safely and efficiently. - Collaborated with remote repositories and contributed to shared projects. - Gained the practical skills to use Git in professional development workflows. This course is ideal for beginners, aspiring developers, and anyone new to version control. No prior Git experience is required — just a desire to learn how to manage and organize your code like a professional.
In this module, we will introduce the foundational concepts of Git and its importance in version control. You’ll get a clear roadmap of the topics covered in the course, ensuring you understand the tools and skills that will be developed throughout.
What's included
1 video1 reading
1 video•Total 2 minutes
- Course Overview•2 minutes
1 reading•Total 10 minutes
- Introduction to the Course 'Git Essentials for Beginners'•10 minutes
In this module, we will delve into the basics of version control systems, exploring what they are and why they are essential for modern software development. You’ll learn about different types of VCS, the origins of Git, and why it stands out as the go-to solution for version control in the tech landscape.
What's included
6 videos
6 videos•Total 15 minutes
- Module Overview•1 minute
- What is a Version Control System•3 minutes
- VCS Types•5 minutes
- Little History•1 minute
- What is Git? Why Git?•3 minutes
- Git Landscape•3 minutes
In this module, we will guide you through the process of installing Git across different platforms and configuring it for your development environment. You’ll explore core Git concepts such as initializing repositories, making your first commit, and cloning repositories, laying a strong foundation for practical version control.
What's included
11 videos1 assignment
11 videos•Total 40 minutes
- Overview•2 minutes
- Git Installation - Ubuntu 20.04•1 minute
- Git Installation - MAC•1 minute
- Git Installation - Windows 10•3 minutes
- Git Completion•4 minutes
- Git Configuration•5 minutes
- Git Help•2 minutes
- Initializing a Git Repository and ".git" Folder•3 minutes
- My First Commit•8 minutes
- Git Clone•4 minutes
- A Note on Commit Messages•6 minutes
1 assignment•Total 15 minutes
- Assessment 1•15 minutes
In this module, we will dive deep into Git’s architecture, covering its three essential stages—working directory, staging area, and repository. You’ll learn about crucial concepts like the HEAD pointer, hash values, and how to manage files within Git. Additionally, we’ll explore key commands such as Git diff and efficient ways to add and commit changes.
What's included
11 videos
11 videos•Total 66 minutes
- Module Overview•2 minutes
- Git Architecture (three Stages) and Workflow•9 minutes
- Hash values (SHA-1)•7 minutes
- The HEAD Pointer•10 minutes
- Add and Edit Files•7 minutes
- Move, Rename and Delete Files•3 minutes
- View Changes•6 minutes
- Single Step to Add and Commit•2 minutes
- "add" Dry-Run•2 minutes
- Git Diff - Part 1•7 minutes
- Git Diff - Part 2•11 minutes
In this module, we will focus on handling changes in Git, covering how to undo file modifications, amend commits, and roll back commits if needed. You’ll also learn to clean up your working directory by removing untracked files, ensuring a clean and organized project history.
What's included
5 videos
5 videos•Total 28 minutes
- Module Overview•1 minute
- Rollback File Changes•4 minutes
- Amend Commits•9 minutes
- Rollback a Commit•11 minutes
- Remove Untracked Files•3 minutes
In this module, we will explore how to control which files Git tracks by using the .gitignore file. You’ll learn to prevent unnecessary files from cluttering your repository, how to handle empty directories, and the nuances of ignoring files that are already tracked in Git.
What's included
4 videos1 assignment
4 videos•Total 20 minutes
- Module Overview•2 minutes
- Ignoring Files•11 minutes
- Track Empty Directories•3 minutes
- Ignore Tracked Files•5 minutes
1 assignment•Total 15 minutes
- Assessment 2•15 minutes
In this module, we will explore the power of Git branches, which allow for parallel development and feature isolation. You’ll learn how to create and manage branches, switch between them, and merge changes back into the main codebase. Additionally, we will introduce a Git prompt script to streamline branch-related operations.
What's included
7 videos
7 videos•Total 38 minutes
- Module Overview•2 minutes
- Understanding Branches•4 minutes
- Create Branches and Switch•10 minutes
- Rename Branches•3 minutes
- Delete Branches•5 minutes
- Merging Branches•10 minutes
- Git Prompt Script•4 minutes
In this module, we will focus on the concept of tagging in Git, a useful feature for marking important points in your project history. You’ll learn how to create and manage tags, explore the structure of the tags folder in .git, and understand how to re-tag or replace old tags. We’ll also cover how to checkout tags and navigate the detached HEAD state.
What's included
6 videos
6 videos•Total 26 minutes
- Module Overview•1 minute
- What are Tags? (and Types)•3 minutes
- Create, List and Delete Tags•10 minutes
- Tags folder in ".git"•5 minutes
- Retagging/Replacing Old Tags•2 minutes
- Checkout Tags and Detached HEAD•6 minutes
In this module, we will explore how to create and use Git aliases, a powerful feature that allows you to shorten long or repetitive commands. You’ll learn how to configure aliases for common operations and review a sample list to optimize your Git workflow. This will help you work faster and more efficiently with Git commands.
What's included
3 videos1 assignment
3 videos•Total 9 minutes
- Module Overview•1 minute
- Git Aliases•6 minutes
- Git Alias Sample List•2 minutes
1 assignment•Total 15 minutes
- Assessment 3•15 minutes
In this module, we will cover the process of working with remote repositories, including cloning them and reviewing the cloned content. Additionally, you’ll dive into commit log filtering, learning how to efficiently search and filter through the log history in order to track changes, authors, or specific commits in your projects.
What's included
6 videos
6 videos•Total 18 minutes
- Module Overview•1 minute
- Clone a Remote Repository•2 minutes
- Review the Cloned Repo•3 minutes
- Commit Log Filtering - Part 1•6 minutes
- Commit Log Filtering - Part 2•3 minutes
- Commit Log Filtering - Part 3•3 minutes
In this final module, we will review the essential concepts and skills covered in the course, from Git basics to advanced features like branching, tagging, and remote repository management. You’ll also receive recommendations on what to explore next to continue your Git journey and deepen your version control expertise.
What's included
1 video
1 video•Total 1 minute
- Congratulations and What's Next?•1 minute
In this module, we will provide an overview of advanced Git operations, focusing on merging, branching strategies, stashing changes, and the rebase command. These techniques will help you manage complex workflows, maintain cleaner commit histories, and improve collaboration in version-controlled projects.
What's included
1 video1 assignment
1 video•Total 2 minutes
- Course Overview•2 minutes
1 assignment•Total 15 minutes
- Assessment 4•15 minutes
In this module, we will explore the various types of merges in Git, including fast-forward and 3-way merges and provide demos to help visualize the processes. You’ll learn how to handle merge conflicts when they arise, using both simple scenarios and real-world demos to ensure you can resolve conflicts confidently and efficiently in your projects.
What's included
6 videos
6 videos•Total 35 minutes
- Module Overview•1 minute
- Merging Types•7 minutes
- Fast Forward Demo•9 minutes
- 3-Way Merge Demo•9 minutes
- Simple Merge Conflicts•2 minutes
- Merge Conflicts Demo•7 minutes
In this module, we will focus on the challenges that arise when working with multiple branches, particularly branching conflicts. You’ll learn about proven branching strategies that help avoid conflicts and maintain a smooth development workflow, ensuring seamless collaboration within teams.
What's included
2 videos
2 videos•Total 7 minutes
- Module Overview•1 minute
- Branching Strategies•6 minutes
In this module, we will explore the concept of stashing, which allows you to temporarily save uncommitted changes without losing your current work context. Through detailed demos, you’ll learn different stashing techniques and how to apply them in real-world development scenarios. Additionally, we’ll cover how to create a branch directly from a stash to preserve work while shifting focus.
What's included
7 videos1 assignment
7 videos•Total 44 minutes
- Module Overview•1 minute
- What is Stashing?•4 minutes
- Stash Demo 1•10 minutes
- Stash Demo 2•8 minutes
- Stashing Techniques - Part 1•7 minutes
- Stashing Techniques - Part 2•5 minutes
- Creating a Branch from a Stash•8 minutes
1 assignment•Total 15 minutes
- Assessment 5•15 minutes
In this module, we will dive into the concept of rebasing, a powerful Git feature used to streamline commit history and maintain a clean project timeline. You’ll learn when and why to use rebasing, and how it differs from merging, and follow along with a demo to practice performing a rebase in real-world scenarios.
What's included
3 videos
3 videos•Total 19 minutes
- Module Overview•1 minute
- What is Rebasing?•8 minutes
- Rebase Demo•11 minutes
In this module, we will introduce advanced Git features such as searching through commit history, rewriting past commits, and using the reset command. These skills will empower you to maintain an organized and efficient project history while managing changes and correcting errors with confidence.
What's included
1 video
1 video•Total 1 minute
- Course Overview•1 minute
In this module, we will focus on Git's powerful searching capabilities, particularly using the git grep command. You’ll learn how to search for specific content within your project and apply advanced filtering to streamline your search process, making it easier to navigate large or complex code repositories.
What's included
3 videos1 assignment
3 videos•Total 19 minutes
- Overview•1 minute
- Git Grep - Part 1•8 minutes
- Git Grep - Part 2•11 minutes
1 assignment•Total 15 minutes
- Assessment 6•15 minutes
In this module, we will explore how to rewrite Git history to improve the clarity and organization of your project. You’ll learn how to update the last commit and use the rebase command to squash multiple commits, drop unnecessary ones, and reorder commits to create a cleaner project history. These skills are essential for maintaining a professional and coherent commit timeline.
What's included
7 videos
7 videos•Total 38 minutes
- Overview•1 minute
- What is "Rewriting History"?•5 minutes
- Update the Last commit•6 minutes
- Rebase - Part 1•9 minutes
- Rebase - Part 2 (Squash)•8 minutes
- Rebase - Part 3 (Drop Commit)•4 minutes
- Rebase - Part 4 (Reorder Commits)•6 minutes
In this module, we will break down the Git reset command, focusing on its three types: soft, mixed, and hard. You’ll learn when and how to use each type of reset to manage changes in your repository, allowing you to adjust your work while maintaining control over your project history and files.
What's included
2 videos1 assignment
2 videos•Total 14 minutes
- Overview•1 minute
- Reset - Soft, Mixed, and Hard•13 minutes
1 assignment•Total 15 minutes
- Assessment 7•15 minutes
In this final module, we will summarize the key lessons from this course, including advanced techniques like search, history rewriting, and resetting. You’ll receive guidance on how to continue developing your Git expertise, preparing you to handle complex version control challenges with confidence.
What's included
1 video1 reading2 assignments
1 video•Total 1 minute
- Congrats•1 minute
1 reading•Total 10 minutes
- Conclusion to the Course 'Git Essentials for Beginners'•10 minutes
2 assignments•Total 75 minutes
- Full course assessment•60 minutes
- Full Course Practice Assessment•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Explore more from Software Development
- P
Packt
Course
- Status: Free Trial
Course
- Status: Free Trial
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
