OSX 上的 Git 将符号链接克隆为纯文本文件

Sha*_*awa 3 git macos

我有一个 git repo,其中检查了一个符号链接。当我在 OSX 上查看时,该文件被创建为纯文本文件而不是符号链接(使用 git 版本 2.7.4)

运行 ls -lah 给我:

$ ls -lah
-rw-r--r--   1 user  group    30B 11 May 17:40 symlink
Run Code Online (Sandbox Code Playgroud)

在 linux 服务器(使用 git 1.9.1)上的同一个 repo 上运行给了我我的期望:

$ ls -lah
lrwxrwxrwx  1 user  group    30B 11 May 17:42 symlink -> ../symlink/path
Run Code Online (Sandbox Code Playgroud)

该文件被正确签入作为 repo 中的符号链接(模式 120000)

$ git ls-tree --full-tree -l HEAD
120000 blob 8cbd91679559387b3ea5f5596b9fa307d32d8420      30    symlink
Run Code Online (Sandbox Code Playgroud)

此外, git status 不会进行任何更改。如果我重新创建符号链接,git status 仍然没有任何变化

rob*_*lep 6

Git 有一个配置选项,可以将符号链接检出为常规文件:

core.symlinks

如果为 false,符号链接将作为包含链接文本的小型纯文件检出。

来源

确保该选项不是false. 你可以用这个检查它:

$ git config --get core.symlinks
Run Code Online (Sandbox Code Playgroud)