Determining if there are uncommitted changes in Git

Featured image for sharing metadata for article

Sometimes you want to validate that your Git worktree is clean, for instance to make sure that there aren't any uncommitted formatting changes when building your project in CI/CD.

You could try and do it with a git status --porcelain and check that there are no lines, but as per this StackOverflow answer, it's even simpler by running:

git diff-index --quiet HEAD --

This exits with a non-zero error code if there are changes found, so you can use it to fail the build.

Alternatively, you may want to see the unexpected changes, in which case you can run:

git diff-index --exit-code --patch HEAD --
# alternatively
git diff --exit-code HEAD --

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

#blogumentation #command-line #git.

Also on:

This post was filed under articles.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.