Your Progress
Try the Terminal
Experiment with Git commands in a fully functional, safe environment before diving into challenges.
Git Challenges
Master Git through hands-on practice. Problems are ordered by real-world workflow, from setup to advanced team collaboration.
Clone and Explore a Project
🎯MixedYou've joined a new team. Your first task is to get the project code onto your machine from a remote repository and explore its current state.
Understanding Branch Structure and Switching
🎯MixedThe project has multiple branches. You need to understand how to view them, switch between them, and understand what HEAD means.
Initializing a New Repository
🎯MixedYou are starting a brand new project. The first step is to initialize a Git repository to start tracking your files.
Creating a Good Commit History
🎯MixedA clean, readable commit history is crucial for collaboration. Practice making small, logical, 'atomic' commits with clear messages.
Discard Changes and Restore Files
🎯MixedYou made changes to several files but want to discard them. Learn safe ways to undo uncommitted work.
Temporarily Save Work with Git Stash
🎯MixedYou're working on a feature when a critical bug needs immediate attention. Use stash to temporarily save your work so you can switch contexts.
Viewing Changes with Diff and Log
🎯MixedLearn to inspect your code changes and commit history effectively using git diff and git log.
Comparing Branches and Commits
🎯MixedBefore merging or rebasing, you need to see what changes exist between branches. Learn to compare effectively.
Connect to Remote and Push Changes
🎯MixedYour local project is ready. Now it's time to connect it to a remote repository on a service like GitHub to back it up and collaborate with others.
Managing .gitignore Patterns
🎯MixedLearn to properly configure .gitignore to exclude files you don't want to track, and how to handle files that were accidentally committed.