ma11hew28
ma11hew28

Reputation: 126557

How to exclude files & directories from 'git diff --no-index'

How do I exclude files and directories from git diff --no-index?

For example, I want to show the differences between two directories project1 & project2 while ignoring their top-level .git directories (project1/.git & project2/.git) and all their .DS_Store files.

Upvotes: 9

Views: 1384

Answers (1)

Michael come lately
Michael come lately

Reputation: 9422

This is not exactly what you asked for, but it might give you the results you want: Add project2 as a remote of project1 and just git diff their HEADs.

git remote add other ../project2/.git
git fetch other

# Perform the diff
git diff other/HEAD

If your project2 is not already a Git repo, you can temporarily make it one (hat tip to Josiah Yoder for his comments):

# Set up project2 repo
cd ../project2
git init
git add .

# Add as remote from project1
cd ../project1
git remote add other ../project2/.git
git fetch other

# Perform the diff
git diff other/master

# Clean up
git remote remove other
cd ../project2
rm -r .git

Upvotes: 1

Related Questions