- Blog
- 06.12.2024
- Data Fundamentals, Product
Mastering Git at Matillion: Uncommitted Changes

Welcome back to our Git series, where we explore various aspects of version control to help you master Git. In previous posts, we've discussed branching, merging, hard resets, and unpushed commits. Today, we'll focus on a crucial part of the Git workflow: uncommitted changes. We'll discuss why it's important to keep track of uncommitted changes, how to view these changes using Git commands, and some useful alternatives and options for getting detailed information about your uncommitted code additions, modifications, and deletions.
Why View Uncommitted Changes?
In a development environment, keeping track of uncommitted changes is essential.
- Review Before Committing: It's important to review what you've modified before committing your changes. This will help you spot mistakes or unintended modifications early, reducing the risk of introducing bugs or regressions into your codebase. It will also ensure that only the intended changes are included in the commit, helping to maintain a clean and accurate commit history.
- Selective Staging: Viewing uncommitted changes allows you to decide which changes should be staged for the next commit and which should be discarded or modified further. Selective staging for commit is a feature that is coming soon to the Data Productivity Cloud.
Uncommitted Changes in the Data Productivity Cloud
Soon we will allow users to see their uncommitted changes in the Data Productivity Cloud. We expect it to look something like this in a modal, but might change subject to feedback from our users.
As you can see, this provides a high-level review of the changes that are yet to be committed.
How to Retrieve Uncommitted Changes
Git provides several commands to help you view and manage uncommitted changes. One of the most common commands is `git diff`, which shows the differences between the working directory and the staging area (or a specific commit). To see uncommitted changes, you can use:
git diff
This command will display a line-by-line comparison of your modified files, highlighting additions and deletions. It's an invaluable tool for understanding the current state of your working directory.
Alternatives and Options for Git Diff
While git diff provides a comprehensive view of uncommitted changes, there are several alternatives and options to customize its output and make it more useful for specific tasks:
- git diff --color-words: This option highlights changes at the word level rather than the line level, making it easier to spot small modifications within a line of code.
- git diff --name-only: If you only want to see which files have been modified without viewing the detailed changes, use this option. It provides a concise list of changed files.
- git diff --staged: To see the differences between the staged changes and the last commit, use this command. It's useful for reviewing what you have added to the staging area before committing.
- git status: While not a diff command, git status provides a summary of your working directory and staging area, showing modified, added, and deleted files. It's a quick way to get an overview of uncommitted changes.
- git diff HEAD: Use this command to compare your working directory changes against the latest commit. It includes both staged and unstaged changes in the output.
Summary
Keeping track of uncommitted changes is a critical part of the Git workflow. Regularly reviewing your modifications before committing ensures that only the intended changes are included, maintains a clean commit history, and catches errors early. Using commands like git diff, git status, and their various options, you can gain detailed insights into the state of your working directory and make informed decisions about your next steps.
Stay tuned for our next installment, where we'll explore some Git Merging Strategies, which will give you a variety of options in managing your development process. Until then, happy coding and Git Good with the Data Productivity Cloud!
Catch up on
Part One: Commit, Push, and Pull.
Part Three: Exploring Common Branching Strategies
Part Four: An In-Depth Guide To Merging
Bryns Jones
Senior Engineering Manager
Bryns Jones is a Senior Engineering Manager working with the DataOps team at Matillion
Featured Resources
Big Data London 2025: Key Takeaways and Maia Highlights
There’s no doubt about it – Maia dominated at Big Data London. Over the two-day event, word spread quickly about Maia’s ...
BlogSay Hello to Ask Matillion, Your New AI Assistant for Product Answers
We’re excited to introduce a powerful new addition to the Matillion experience: Ask Matillion.
BlogRethinking Data Pipeline Pricing
Discover how value-based data pipeline pricing improves ROI, controls costs, and scales data processing without billing surprises.
Share: