在 Git 中比较两个目录是否可能?

17

我已经在Git中安装了Meld作为差异工具。是否有可能使用Git或其他方式比较两个文件夹? 我尝试了以下命令,但没有发生任何事情。

能否使用Git或其他方式比较两个文件夹? 我尝试了以下命令,但没有发生任何事情:

git diff /c/sample/folder1/ /c/sample/folder2/

“什么都没发生”怎么回事?它应该是可以正常工作的。 - Tatsuyuki Ishi
只有当两个文件夹都是Git项目时,它才能正常工作。 - ravindar
2个回答

15

如果你想比较磁盘上的两个目录,不需要使用git

# use any suitable diff viewer : meld, kdiff3 ...
meld /c/sample/folder1/ /c/sample/folder2/

如果您想在git中查看两个提交之间的目录视图:

git difftool -d <commit1> <commit2>

# you can also restrict this directory view to a subdir of your repo :
git difftool -d <commit1> <commit2> -- lib/

4

使用git diff master..yourbranch path/to/folder可以很好地比较git存储库中不同版本的文件夹(参见问题)。

如果不是版本问题,而只是比较两个文件夹,可以使用meld:

Meld允许您并排比较两个或三个文件夹。您可以通过选择“文件▸新建…”菜单项,然后点击“目录比较”选项卡来启动新的文件夹比较。

(来自这里。)


29
如果你想使用Git比较两个任意文件夹,可以使用--no-index选项:git diff --no-index dir1 dir2 - padawin
1
@padawin 给出了真正的问题答案! - TimHayes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接