How To List Only Modified Files In Git?

Published August 25, 2024

Problem: Identifying Modified Git Files

When using Git, you often need to see which files have changed since the last commit. This is useful for reviewing changes before staging or committing them. However, Git doesn't have a single command to list only modified files.

Using git ls-files Command

Overview of git ls-files

The git ls-files command shows information about files in the index and the working tree. It can list all files in the repository, including ignored, staged, or modified ones. The command has options to filter and display file information.

Using git ls-files for viewing specific files has these benefits:

  • You can focus on particular file statuses
  • It gives a cleaner output than git status
  • It's faster for large repositories

Tip: Combine git ls-files with grep

You can combine git ls-files with grep to search for specific file types or patterns. For example, to list all JavaScript files in your repository, you can use:

git ls-files | grep '\.js$'

This command will display only files with a .js extension, helping you quickly locate JavaScript files in your project.

How to List Modified Files

To view only modified files in your Git repository:

  1. Open your terminal or command prompt
  2. Go to your Git repository
  3. Run this command: git ls-files -m

The -m option tells Git to show only modified files. The output will be a list of filenames, one per line.

This command will show all files that have been changed but not staged. It helps you identify which files need attention without showing staged or untracked files.

Compared to git status, using git ls-files -m has these advantages:

  • It shows only modified files
  • The output is short and easy to read
  • It works well in repositories with many staged files
  • You can use the output with other commands for more processing

By using git ls-files -m, you can quickly see which files have been modified, helping you focus on important changes in your work.