Cygwin Symlinks .lnk在git克隆后不起作用

时间:2019-05-13 13:18:49

标签: git cygwin symlink git-clone

我创建了一个带有符号链接的git repo。
此符号是使用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 SYSTEM位,或者快捷方式文件缺少DOS READONLY属性,则不会将其识别为符号链接。

并且git不支持此READONLY属性。
https://stackoverflow.com/a/27554044/5190206

1 个答案:

答案 0 :(得分:0)

.git/hooks/post-checkout下创建结帐后挂钩

#! /bin/sh
# post-checkout hook to make all lnk files read-only
find -type f -iname "*.lnk" -exec chmod -w {} \;