cygwin symlinks .lnk在git克隆之后不起作用



我已经创建了一个内部具有符号链接的git repo。
这个Symlik是由Cygwin创建的。

cd ./bar && ln -s ../foo.md foo.md

cygwin创建一个foo.md.lnk文件。
现在一切都可以。

foo.md -> ../foo.md

如果我将存储库推向gitlab并克隆在其他地方
符号链接只是一个文本文件。

foo.md.lnk*

问题是:https://www.cygwin.com/cygwin-ug-net/using.html#pathnames-symlinks

在所有情况下,所有以上四种符号类型都被识别并用作符号链接。但是,如果默认的普通文件符号类型缺少其DOS系统位,或者缺少快捷键文件可读取的属性,则不认为它们为Symlink。

和git不支持此读取属性。
https://stackoverflow.com/a/27554044/5190206

.git/hooks/post-checkout

下创建后检查后钩
#! /bin/sh
# post-checkout hook to make all lnk files read-only
find -type f -iname "*.lnk" -exec chmod -w {} ;

最新更新