我有一个git repo,它已经签入了符号链接。当我在OSX上签出它时,文件会被创建为明文文件,而不是符号链接(使用git版本2.7.4)
运行ls-lah给我:
$ ls -lah
-rw-r--r-- 1 user group 30B 11 May 17:40 symlink
在linux服务器上的同一个repo上运行(git 1.9.1)会给我带来我所期望的:
$ ls -lah
lrwxrwxrwx 1 user group 30B 11 May 17:42 symlink -> ../symlink/path
文件在repo(模式120000)中作为符号链接正确签入
$ git ls-tree --full-tree -l HEAD
120000 blob 8cbd91679559387b3ea5f5596b9fa307d32d8420 30 symlink
此外,git状态不会有任何更改。如果我重新创建符号链接,git状态仍然不会发生任何更改
Git有一个配置选项,可以将符号链接作为常规文件检出:
core.symlinks
如果为false,符号链接将作为包含链接文本的小型纯文件检出。
(来源)
请确保该选项不是false
。你可以用这个来检查:
$ git config --get core.symlinks