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

在 Windows 上,符号链接在 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

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

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

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

我应该怎么办?

答案1

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

git config --get core.symlinks

应该返回true。如果不是这样,那么你必须使用以下命令再次删除并克隆你的 repo:

git clone -c core.symlinks=true <repository_url>

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

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

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

相关内容