Simplifying Git Diff with Custom Aliases

Simplifying Git Diff with Custom Aliases


When working with Git, one of the common tasks is comparing the changes between different commits or specific files. While Git provides powerful commands like git diff, creating custom aliases can further simplify these operations, reducing the amount of typing required. In this blog post, we’ll explore how to create custom aliases for Git diff commands, making it easier to compare commits and files.

Setting Up the Alias

To create a custom alias for the git diff command, we’ll leverage Git’s configuration file. Here’s a step-by-step guide to set it up:

Open your terminal and enter the following command to set up the alias:

git config --global alias.smdiff '!f() { git diff $1^ $1 -- $2; }; f'

This command creates an alias named smdiff that takes two arguments: the commit hash and the file path. It executes the git diff command with the specified arguments.

Utilizing the Custom Alias
Now that the alias is set up, we can start using it to simplify Git diff operations.

To compare the changes between two commits for a specific file, use the following command:

git smdiff <commit-hash> <file-path>

Replace <commit-hash> with the desired commit hash and <file-path> with the path to the file you want to compare.

For example, let’s say you want to view the differences in the IngredientController.php file between commit a26f0232 and its parent commit:

git smdiff a26f0232 app/Http/Controllers/IngredientController.php

This command will execute the custom alias smdiff, invoking the necessary git diff command under the hood. The resulting output will show the additions, deletions, and modifications made to the file in the specified commit.


Creating custom aliases for Git commands can significantly streamline your workflow and reduce typing effort. By setting up a custom alias for the git diff command, we can easily compare commits and files without having to remember or type the full command every time. Incorporating this alias into your Git usage can enhance productivity and make working with Git a more seamless experience.

Remember, aliases can be tailored to fit your specific needs, so feel free to experiment and create aliases that align with your workflow preferences.

Happy coding!

Leave a Reply