在 Git 中创建符号链接时出现“权限被拒绝”的错误

6
有一个类似的问题,但这里的区别是我正在使用Windows。我在Windows上运行git(在git bash工具中工作),并已经成功地克隆了我的分支存储库。现在我需要创建符号链接,但它给了我“拒绝许可”。我可以在 .git 文件夹中创建新目录,也为 .git 目录设置了 chmod /R 777 ,因此似乎我有权限。我尝试运行: rm -rf hooks 然后 ln -s ../git_hooks hooks

“ln” 命令给你报错了?具体是什么错误?在你的工作目录中,执行 “ls -la” 命令会输出什么? - Etan Reisner
是的,ln 给我报错了。错误信息是 ln: creating symbolic link hooks to ../git_hooks: Permission deniedlist 命令给出的是 drwxr-xr-x 5 User Administ 0 Jul 28 17:24 hooks - 这只是针对 hooks 文件夹的一行。 - marc_s
你的工作目录中已经有一个名为 hooks 的目录了吗? - Etan Reisner
是的,但从现在开始,当我运行第二行(ln)时。 - marc_s
5个回答

7

我在Windows上遇到了这个问题,我采取了以下步骤解决:

  1. 通过修改git config启用core.symlinks

    git config --edit

  2. 以管理员身份打开Git Bash并执行git checkout命令

这对我有用,希望对其他人也有帮助。


4
这是对我有用的答案。关键部分是以管理员身份运行git,因为我已经启用了core.symlinks。 - James Kerslake
以管理员身份运行Git Bash对我有用。我的git配置中没有提到symlinks - Dženan

6
你可能遇到了在Windows平台上ln的基本不兼容性(在这种情况下是在MINGW-MSYS内)。你可以使用“在Windows上做正确事情”的版本替换ln;请看这个链接:Git Bash Shell fails to create symbolic links

1
我使用了这个工具:http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html 并创建了符号链接。谢谢! - marc_s
为什么?NTFS在Windows上本身就提供了许多链接的功能。 - Michał Leon

0
如果您正在Windows上使用本地Web服务器(OpenServer、Laragon、Local),请以管理员身份启动服务器。这对我有用。

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

0
在安装 Windows 版的 git-bash 时,有一个名为“启用符号链接”的选项。当我使用该选项安装 git-bash 时,我遇到了与 OP 相同的问题。因此,我再次安装了相同的设置(git-bash),但这次取消了“启用符号链接”选项。然后我的问题得到了解决。

0
如果您正在使用Git for Windows的SDK,您可以通过运行以下命令来使用pacman软件包管理器安装winln:`pacman -Su winln`。
然后,您可以运行:`winln -s target link`,它将检查您是否具有SeCreateSymbolicLinkPrivilege,否则它将失败。这相当于运行Windows的mklink.exe。
我很惊讶Git for Windows没有与`ln`命令一起提供`winln`,而后者会在不告知用户的情况下执行复制操作。

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