(Q)如何获得git diff
来向我展示Windows快捷方式文件(* .lnk)中的区别?
例如,
git status
On branch master
modified: Shortcuts/Dirs/DevNotes.lnk
git diff Shortcuts/Dirs/DevNotes.lnk
diff --git a/Shortcuts/Dirs/Dev Notes.lnk b/Shortcuts/Dirs/Dev Notes.lnk
index ebf8af1..8f466c3 100644
Binary files a/Shortcuts/Dirs/Dev Notes.lnk and b/Shortcuts/Dirs/Dev Notes.lnk differ
我不想说Binary files differ
,而是希望看到类似的东西:
- c:\users\user1\myenv\Docs\DevNotes
+ c:\users\user1\mystuff\myenv\Docs\DevNotes
这使我可以更轻松地决定是要提交更改还是将其保留在主机本地。
我进行了一些搜索,发现Microsoft似乎正在更新快捷方式文件,因为它就是这样做的。参见How to track .lnk files in git?。有趣的是,这也许就是为什么我的* .lnk文件即使实际上没有更改也显示为不同的原因。
我的信念是
Git配置为支持不同文件类型的自定义diff程序。 diff.external和gitattributes看起来很有希望。
Windows * .lnk文件可以通过某种方式进行比较。这是一个起点Extract Path from shortcut link - windows batch
我可以告诉git使用仅知道如何区分* .lnk文件的自定义脚本。
我已经搜索并发现了一些东西,但是已经没有了: