Mastering Git is a comprehensive course designed to help you efficiently manage version control in software development. It teaches key Git concepts and tools that are indispensable for any developer working on collaborative projects or maintaining large codebases.

Mastering Git
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Recommended experience
Recommended experience
What you'll learn
Master the basics of Git to manage repositories and track project history.
Implement advanced branching techniques for efficient collaboration and version control.
Customize and extend Git to handle large repositories and subprojects.
Details to know

Add to your LinkedIn profile
June 2026
15 assignments
See how employees at top companies are mastering in-demand skills

There are 15 modules in this course
This module guides learners through practical Git workflows, including repository setup, file management, branching, and conflict resolution. By following real-world scenarios, you will deepen your understanding of intermediate Git operations and collaborative version control practices.
What's included
1 video5 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
5 readings•Total 30 minutes
- Introduction•7 minutes
- Cloning the Repository and Creating the First Commit•7 minutes
- Renaming and Moving Files•5 minutes
- Resolving a Merge Conflict•6 minutes
- Creating a New Branch•5 minutes
1 assignment•Total 16 minutes
- Git Basics in Practice•16 minutes
This module guides learners through essential solo Git workflows, including creating commits, examining changes, and managing branches. You will learn how to review and selectively commit changes, amend previous commits, and safely switch or reset branches. By the end, you'll be able to confidently manage your own development history using Git's powerful features.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 47 minutes
- Introduction•8 minutes
- Examining the Changes to Be Committed•5 minutes
- Examining Differences from the Last Revision•10 minutes
- Selective Commit•6 minutes
- Amending a Commit•8 minutes
- Obstacles to Switching to a Branch•6 minutes
- Rewinding or Resetting a Branch•4 minutes
1 assignment•Total 16 minutes
- Git Fundamentals Review•16 minutes
This module guides learners through advanced Git worktree management, including handling ignored files, generating and interpreting diffs, and using content filtering. You will also explore strategies for undoing changes, stashing work, and managing the staging area to maintain a clean and efficient workflow.
What's included
1 video12 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
12 readings•Total 70 minutes
- Introduction•8 minutes
- Which Types of Files Should Be Ignored•5 minutes
- Trick Ignoring Changes in Tracked Files•8 minutes
- Generating Diffs and Binary Files•6 minutes
- Transforming Files (Content Filtering)•4 minutes
- Keyword Expansion and Substitution•6 minutes
- Fixing Mistakes with the Reset Command•6 minutes
- Discarding Changes and Rewinding the Branch•5 minutes
- Stashing Away Your Changes•4 minutes
- Stash Internals•4 minutes
- Managing Worktrees and the Staging Area•5 minutes
- Un-tracking, Un-staging, and Un-modifying Files•9 minutes
1 assignment•Total 16 minutes
- Mastering Git Worktree Operations•16 minutes
This module introduces key concepts for navigating and understanding project history in version control systems. Learners will explore how to use branches, tags, and revision selection to manage and investigate changes over time, as well as how to interact with remote repositories. Practical skills in examining commit ancestry and utilizing Git commands are emphasized.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 38 minutes
- Introduction•6 minutes
- Branches and Tags•6 minutes
- Single Revision Selection•4 minutes
- Branches, Tags, and Similar Options•5 minutes
- Ancestry References•6 minutes
- Upstreaming Remote-Tracking Branches•11 minutes
1 assignment•Total 16 minutes
- Exploring Project History in Version Control•16 minutes
This module explores advanced techniques for searching and analyzing project history in Git. Learners will discover how to trace file changes, attribute code modifications, identify bugs using bisect, and customize log outputs to summarize contributions. By the end, you'll be able to efficiently extract and interpret repository data for debugging and collaboration insights.
What's included
1 video7 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
7 readings•Total 35 minutes
- Introduction•6 minutes
- Commit Parents•5 minutes
- History of a File•5 minutes
- Blame the Line-wise History of a File•4 minutes
- Finding Bugs with Git Bisect•5 minutes
- Predefined and User-Defined Output Formats•5 minutes
- Summarizing Contributions•5 minutes
1 assignment•Total 16 minutes
- Navigating and Analyzing Git Repositories•16 minutes
This module explores essential Git workflows for collaborative software development, including managing remote repositories, tracking branches, and using annotated tags. Learners will gain practical skills to coordinate contributions and streamline teamwork in distributed environments.
What's included
1 video5 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
5 readings•Total 32 minutes
- Introduction•7 minutes
- Disadvantages of the Peer-to-Peer Workflow•5 minutes
- Managing Remote Repositories•6 minutes
- Changing the List of Branches Tracked by Remote•6 minutes
- Annotated Tags•8 minutes
1 assignment•Total 16 minutes
- Git Collaboration and Version Control Fundamentals•16 minutes
This module explores advanced Git collaboration techniques, including repository setup for teamwork, various transport protocols, and working with bundles for offline transfers. Learners will also discover how to interact with foreign version control systems and streamline authentication using credential helpers. By the end, you'll be equipped to manage and publish changes efficiently in diverse environments.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 37 minutes
- Introduction•6 minutes
- Legacy (Dumb) Transports•4 minutes
- Cloning and Updating with Bundles•6 minutes
- Utilizing a Bundle to Help with the Initial Clone•5 minutes
- Using Foreign SCM Repositories as Remotes•6 minutes
- Credential Helpers•10 minutes
1 assignment•Total 16 minutes
- Git Publishing and Collaboration Fundamentals•16 minutes
This module explores a variety of advanced branching strategies used in collaborative software development. Learners will examine workflows such as progressive-stability, automation, and topic branches, and discover how to manage releases and integrate code efficiently. Practical guidance on branch management, conflict resolution, and release engineering is also provided.
What's included
1 video11 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
11 readings•Total 69 minutes
- Introduction•7 minutes
- Alternatives to Branching•6 minutes
- Progressive-Stability Branches•6 minutes
- Automation Branches•6 minutes
- Branching Workflows and Release Engineering•6 minutes
- Topic Branches Workflow•6 minutes
- Branch Management for a Release in a Topic Branch Workflow•6 minutes
- Ship Show Ask a Modern Branching Strategy•9 minutes
- Pull Fetching and Updating the Current Branch•6 minutes
- Fetching Tags and Automatic Tag Following•6 minutes
- Upstream Push Mode for the Centralized Workflow•5 minutes
1 assignment•Total 16 minutes
- Mastering Complex Branching Scenarios•16 minutes
This module explores how to integrate changes from multiple branches in Git, covering various merge strategies, advanced rebasing techniques, and workflows involving patches. Learners will also discover how Git tracks merge states and how to automate conflict resolution using rerere. By the end, you'll be equipped to manage complex collaboration scenarios with confidence.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 42 minutes
- Introduction•7 minutes
- Merge Strategies and Their Options•6 minutes
- Applying a Series of Commits from Patches•6 minutes
- Advanced Rebasing Techniques•8 minutes
- Three Stages in the Index•6 minutes
- Rerere Reuse Recorded Resolutions•9 minutes
1 assignment•Total 16 minutes
- Navigating Git Merges and Rebases•16 minutes
This module explores advanced techniques for managing and refining Git repository history, including interactive rebasing, squashing commits, and using specialized tools like filter-repo and reposurgeon. Learners will also discover methods for annotating commits with notes, handling upstream history rewrites, and leveraging replacement mechanisms to maintain clean and informative project histories.
What's included
1 video13 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
13 readings•Total 74 minutes
- Introduction•6 minutes
- Plumbing and Porcelain Git Commands•7 minutes
- Reordering, Removing, and Fixing Commits•6 minutes
- Squashing Commits•6 minutes
- Testing Each Rebased Commit•6 minutes
- Available Filter Types for Filter-Repo•6 minutes
- Editing the Repository History with Reposurgeon•4 minutes
- Recovering from an Upstream History Rewrite•7 minutes
- Recovering from a Reverted Merge•5 minutes
- Adding Notes to a Commit•4 minutes
- Other Categories and Uses of Notes•5 minutes
- Notes as Cache•6 minutes
- Replacements Mechanism•6 minutes
1 assignment•Total 16 minutes
- Mastering Git History Manipulation•16 minutes
This module explores strategies for integrating and managing external code within your projects using both manual and automated Git techniques. Learners will compare subtrees and submodules, practice importing and updating subprojects, and understand how to synchronize changes between main and subproject repositories. By the end, you'll be equipped to choose and implement the most effective workflow for your development needs.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 57 minutes
- Introduction•7 minutes
- Manually Importing the Code into Your Project•8 minutes
- Adding a Subproject as a Subtree•4 minutes
- Getting Updates from Subprojects with a Subtree Merge•4 minutes
- Sending Changes to the Upstream of a Subtree•4 minutes
- The Git Submodules Solution A Repository Inside a Repository•5 minutes
- Adding a Subproject as a Submodule•5 minutes
- Updating Submodules After Superproject Changes•6 minutes
- Getting Updates from the Upstream of the Submodule•14 minutes
1 assignment•Total 16 minutes
- Managing Subprojects in Git•16 minutes
This module explores strategies for efficiently managing large Git repositories, including techniques for handling large binary files and optimizing repository size. Learners will discover tools such as sparse checkout and partial clone to streamline workflows and reduce local storage requirements. Practical scenarios from gaming and web development illustrate real-world applications.
What's included
1 video4 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
4 readings•Total 24 minutes
- Introduction•7 minutes
- Handling Repositories with Large Binary Files•5 minutes
- Limiting the Number of Working Directory Files with Sparse Checkout•8 minutes
- Omitting Large File Contents with Sparse Clone•4 minutes
1 assignment•Total 16 minutes
- Efficient Repository Management in Git•16 minutes
This module explores advanced Git customization techniques, including configuring command-line completion, integrating graphical diff and merge tools, and managing configuration files. Learners will also discover how to automate workflows with Git hooks and streamline their command-line experience using aliases. By the end, you'll be equipped to tailor Git to your personal or team workflow for greater efficiency.
What's included
1 video14 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
14 readings•Total 81 minutes
- Introduction•8 minutes
- Command-line Completion for Git•5 minutes
- Alternative Command Line•5 minutes
- Graphical Diff and Merge Tools•7 minutes
- Git Configuration Files•6 minutes
- Accessing the Git Configuration•4 minutes
- Finding Where Configuration Value Came From•6 minutes
- Preserving Undo Information The Expiry of Objects•6 minutes
- Server-side Configuration•7 minutes
- Automating Git with Hooks•6 minutes
- Prepare Commit Msg Hook•5 minutes
- The Pre-Applypatch Hook•5 minutes
- Server-side Hooks•4 minutes
- Command Aliases for Git•7 minutes
1 assignment•Total 16 minutes
- Git Customization and Extension Fundamentals•16 minutes
This module delves into advanced Git administration, focusing on server-side and client-side hooks, repository recovery, and troubleshooting techniques. Learners will explore secure collaboration practices, policy enforcement, and the configuration of remote access protocols. By the end, you'll be equipped to manage, secure, and troubleshoot Git repositories in collaborative environments.
What's included
1 video9 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
9 readings•Total 53 minutes
- Introduction•6 minutes
- Recovering a Lost Commit•4 minutes
- Troubleshooting Git•4 minutes
- Git on the Server•6 minutes
- The Update Hook•5 minutes
- Enforcing the Policy with Server-Side Hooks•6 minutes
- Signed Pushes•5 minutes
- Anonymous Git Protocol•6 minutes
- Remote Helpers•11 minutes
1 assignment•Total 16 minutes
- Git Administration Fundamentals•16 minutes
This module provides practical guidelines for effective version control using Git, including strategies for managing project changes, writing clear commit messages, and conducting thorough code reviews. Learners will also discover techniques for submitting changes and recovering lost work, ensuring robust collaboration and project integrity.
What's included
1 video6 readings1 assignment
1 video•Total 1 minute
- Overview•1 minute
6 readings•Total 29 minutes
- Introduction•4 minutes
- Working on a Project•6 minutes
- Writing a Good Commit Message•5 minutes
- Submitting and Describing Changes•4 minutes
- The Art of the Change Review•6 minutes
- Don’t Panic, Recovery Is Almost Always Possible•4 minutes
1 assignment•Total 16 minutes
- Git Workflow and Collaboration Standards•16 minutes
Instructor

Offered by
Explore more from Software Development
PPackt
Course
Status: Free TrialFree TrialSpecialization
Status: PreviewPreviewCourse

Guided Project
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
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.
If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.
This course is currently available only to learners who have paid or received financial aid, when available.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,




