【问题标题】:Permission denied when creating symbolic links in git在 git 中创建符号链接时权限被拒绝
【发布时间】:2015-10-19 05:59:01
【问题描述】:

有一个类似的问题,但这里的区别是我在 Windows 上工作。我在 Windows 上运行 git(使用 git bash 工具)并且我已经成功地克隆了我的分叉存储库。现在我需要创建符号链接,它给了我Permission denied。例如,我可以在.git 文件夹中创建新目录,并且我还为.git 目录设置了chmod /R 777,所以看来我有权限。

我尝试运行: rm -rf hooks,然后是ln -s ../git_hooks hooks。

【问题讨论】:

  • ln 命令给你这个错误? 究竟的错误是什么? ls -la 在您的工作目录输出中是什么?
  • 是的,ln 给了我错误。错误是ln: creating symbolic link hooks to ../git_hooks: Permission denied。列表给了我drwxr-xr-x 5 User Administ 0 Jul 28 17:24 hooks - 这只是hooks 文件夹的行。
  • 您的工作目录中已有hooks 目录?
  • 是的,但是从现在开始,当我运行第二行时 (ln)。

标签: windows git bash permissions githooks


【解决方案1】:

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

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
【解决方案2】:

在为 windows 安装 git-bash 时,有一个名为“启用符号链接”的选项。当我使用该选项安装 git-bash 时,我遇到了与 OP 相同的问题。所以我再次安装了相同的设置(git-bash),未选中“启用符号链接”选项。然后我的问题就解决了。

【讨论】:

    【解决方案3】:

    我在 Windows 上遇到了这个问题,我做了几个步骤来解决这个问题:

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

      git config --edit

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

    这对我有用,希望对某人有所帮助。

    【讨论】:

    • 这是对我有用的答案。关键部分是以管理员身份运行 git,因为我已经启用了 core.symlinks
    • 以管理员身份运行 Git Bash 为我做了这件事。在我的 git 配置中没有提到 symlinks。
    【解决方案4】:

    如果您使用的是 Windows 版 GitSDK,您可以使用 pacman 包管理器安装 winln,方法是运行:pacman -Su winln

    然后你可以运行:winln -s target link,它会检查你是否有 SeCreateSymbolicLinkPrivilege,否则会失败。这相当于运行Window的mklink.exe。

    我很惊讶 Git for Windows,没有 winln 与 ln 命令在没有告诉你它做了复制的情况下复制。

    【讨论】:

      【解决方案5】:

      您可能会遇到 ln 在 Windows 平台上的基本不兼容问题(在这种情况下是在 MINGW-MSYS 中)。您可以将 ln 替换为在 Windows 上“做正确的事”的版本;看看这个:

      Git Bash Shell fails to create symbolic links

      【讨论】:

      猜你喜欢
      • 2014-01-20
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2013-05-22
      • 2014-12-17
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多