Как я могу получить git diff, чтобы показать различия в файлах ярлыков Windows (*.lnk)?

(Q) Как я могу получить git diff показать мне различия в файлах ярлыков (*.lnk) в Windows?

Например,

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, похоже, обновляет файлы ярлыков, потому что это то, что она делает. Смотрите Как отследить файлы.lnk в git?, Интересно, что это может быть причиной того, что мои *.lnk файлы отображаются как разные, даже если они действительно не были изменены.

Моя вера

  1. Git может быть настроен для поддержки пользовательских программ сравнения для разных типов файлов. diff.external и gitattributes выглядят многообещающе.

  2. Файлы Windows *.lnk можно как-то сравнивать. Это отправная точка Извлечь путь из ссылки ярлыка - пакет Windows

  3. Я могу сказать git использовать собственный скрипт, который знает только, как различать файлы *.lnk.

Я искал и нашел некоторые вещи, но ничего, что уже делает это:

0 ответов

Другие вопросы по тегам