忽略Git中的符号链接

13
有没有办法让git完全忽略符号链接(保留它们在树中,但不在检出时创建它们)?或者,有没有办法让git在Linux上的符号链接和Windows上的快捷方式之间进行转换?
背景:我正在使用git处理一些LaTeX文件,这些文件在Windows和Linux上都使用。在Linux上,我有大量样式文件存储在repo之外,并从很多地方链接到它们。如果git将它们转换为Windows上的快捷方式(我有相同的周围目录/文件结构),或者如果git完全忽略它们并且不检查它们(在Windows上,我有LaTeX发行版中的样式文件),那么它将正常工作。

可能是在.gitignore中忽略符号链接的重复问题。 - dgw
1个回答

6
在“忽略符号链接”方面,您可以将配置变量core.symlinks设置为false(作为Windows Git存储库中的本地配置):
符号链接将被检出为包含其所链接的文件系统对象路径的小型纯文本文件,但不会创建该目标对象。

3
如果我忽略符号链接,那么我希望以该名称命名的文件不会出现。以符号链接命名的小文本文件会破坏LaTeX排版。 - Jason Gross
1
@Jason:那么我只能看到一个 post-checkout 钩子将所有这些文件移开,然后更新索引以“假定忽略”它们(为了不检测它们缺失的事实):https://dev59.com/gG445IYBdhLWcg3w6ebz - VonC
1
在执行 git reset --hard 等操作时,是否会调用 post-checkout 钩子? - Jason Gross
@Jason:不确定,但我认为不是这样的(https://dev59.com/RnA65IYBdhLWcg3wxRs8) - VonC
1
更糟糕的是,我有一个类似的问题,但是在两台不同的计算机上的存储库中可能会有相同名称的符号链接,但指向不同的位置。使用 post-checkout 钩子无法解决这个问题,对吗? - naught101
@naught101 如果 post-checkout 钩子的目标只是为了摆脱那些符号链接文件,那么它可能会有所帮助。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接