符号链接在 Windows 上的 Git 中不起作用

Ali*_*EXE 3 windows symbolic-link git

我有一个名为 的存储库Base,另一个名为 的存储库Project。它们被克隆在C:\Company\Base和 中C:\Company\Project

我用来mklink C:\Copmany\Project\BuildScript.bat C:\Company\Base\BuildScript.bat创建符号链接。

然后我推动这个改变:

   cd C:\Company\Project
   git add .
   git commit -m "adding symbolic link"
   git push
Run Code Online (Sandbox Code Playgroud)

我可以在 GitHub 中看到这BuildScript.bat是一个符号链接。

我也可以使用 来验证它dir /AL /S C:\Company\Project

但是,当我在另一台 PC 上或在我自己的 PC 上的另一个目录中克隆此存储库时,该符号链接不再是链接。

我应该怎么办?

小智 9

我对 Windows 主机系统上带有子模块的存储库也有类似的问题(然后项目部署在 docker 容器上,其中一个容器无法启动)。要检查您是否尚未启用正确的符号链接支持:

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

应该返回true。如果不是这样,那么您必须使用命令再次删除并克隆您的存储库:

git clone -c core.symlinks=true <repository_url>
Run Code Online (Sandbox Code Playgroud)

注意:也许可以使用 启用它git config --set __,但由于某种原因它对我不起作用

--recurse-submodules注 2:如果它是带有 sybmodules 的存储库,您可能还想使用。

并且还可以在 git 安装期间启用符号链接支持(它将全局生效)。 使用 symlin 选项的 Git 安装步骤

  • 在 git 配置中将 `core.symlinks` 设置为 `true` 对我有用。无需删除/克隆存储库 (2认同)