如何从 git diff --no-index 中排除文件和目录

ma1*_*w28 6 git diff git-diff

如何从 中排除文件和目录git diff --no-index?

例如,我想显示两个目录project1&之间的差异,project2同时忽略它们的顶级.git目录 ( project1/.git& project2/.git) 及其所有.DS_Store文件。

Mic*_*ael 1

这并不完全是您所要求的,但它可能会为您提供您想要的结果:添加project2为遥控器project1并且仅添加git diff它们的HEADs。

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

# Perform the diff
git diff other/HEAD
Run Code Online (Sandbox Code Playgroud)

如果您project2还不是 Git 存储库,您可以暂时将其设为一个(向Josiah Yoder的评论致敬):

# 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
Run Code Online (Sandbox Code Playgroud)