Answers:
提供路径(在这种情况下为myfolder),然后运行:
git diff myfolder/
git diff -- myfoldergit来减少歧义。git diff(和许多git命令)的通用表示法是git diff [commit-ish] -- [path]commit-ish默认为HEAD(您现在所在的位置),[path]默认为git根目录,但可以是相对于当前目录的任何东西。如果没有--,git将会猜测您的意思,[commit-ish]或者[path]。在某些情况下,这会使git表示该符号“模棱两可”。如果我没记错的话。
git diff master..develop myfolder/按照@CrandellWS在原始问题的评论中所说的那样,包括要尝试区分的分支。如果您正在寻找Git状态,它将显示您的更改。
在Git中将Beyond Compare添加为difftool,并为diffdir添加别名为:
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"
获取gitdiff为:
git diffdir 4bc7ba80edf6 7f566710c7
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"替代
--no-symlinks选项,以便命令读取git difftool --dir-diff --no-symlinks
您不仅可以添加路径,还可以添加git diff --relative以获取相对于该文件夹的结果。
git -C a/folder diff --relative
在Git 2.28(2020年第三季度)中,“ diff”系列中的命令学会了使用“ diff.relative”配置变量。
参见Laurent Arnoud()的commit c28ded8(2020年5月22日)。(通过合并JUNIOÇ滨野- -在提交e34df9a,2020年6月2日)spk
gitster
diff:添加配置选项relative签字人:Laurent Arnoud
签字人:ĐoànTrầnCôngDanh
diff.relative设置为的布尔选项true仅显示path该relative选项的参数指定的当前目录/值中的更改,并显示相对于上述目录的路径名。教导
--no-relative更早覆盖--relative添加git-format-patch(1)选项文档
--relative和--no-relative
该文档现在包括:
diff.relative:如果设置为“
true”,则“git diff”不会显示目录外部的更改,也不会显示相对于当前目录的路径名。
如果要排除子目录,可以使用
git diff <ref1>..<ref2> -- $(git diff <ref1>..<ref2> --name-only | grep -v /)
要将Beyond Compare用作目录diff的difftool,请记住启用如下所示的符号链接:
在文件夹比较视图 → 规则(裁判图标)中:
然后,启用跟随符号链接并更新会话默认值:
要么,
像这样设置别名:
git config --global alias.diffdir "difftool --dir-diff --tool=bc3 --no-prompt --no-symlinks"
请注意,无论哪种情况,都将保留对引用当前工作树的一侧(左侧或右侧)所做的任何编辑。
git diff master..yourbranch path/to/folder