我创建了一个带有符号链接的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
答案 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 {} \;