【问题标题】:error: could not lock config file filepath/../.git/config :permission denied错误:无法锁定配置文件文件路径/../.git/config:权限被拒绝
【发布时间】:2015-11-12 02:44:56
【问题描述】:

我在路径 /home/bhishan/Copy/try 中创建了一个名为“try”的文件夹 然后在那个文件夹中我给出了一些命令:

我的命令如下:

curl -s -O \
http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain

chmod u+x git-credential-osxkeychain

sudo mv git-credential-osxkeychain `dirname \`which git\``

git config --global credential.helper osxkeychain

git init

git remote add origin https:

git remote add origin https:

git push origin master

===============================

它工作正常但是,当我尝试删除尝试文件夹时,我无法删除该文件夹。 我也不能发号施令:

git init

在 try 文件夹内(我有一个 .git 文件夹)

================================================ ======

我的命令行和错误报告是这样的:

bhishan@bhishan-HP-Pavilion-dv6-Notebook-PC:~/Copy/try$ git init
error: could not lock config file /home/bhishan/Copy/try/.git/config: Permission denied

现在,我的问题是如何删除名为“try”的文件夹?

【问题讨论】:

    标签: ubuntu github delete-file


    【解决方案1】:

    当您使用sudo 运行具有副作用(例如文件创建)的命令时,会出现这类问题。

    在您的主目录中找到属于 root 的文件和目录是很常见的。在这种情况下,您的 .git/config 文件似乎归 root 所有,因此当您尝试锁定它时会出现权限错误。

    ~/Copy/try 目录中的sudo chown bhishan -R .git 应该可以解决权限问题。

    【讨论】:

    • 我运行的是 Windows 10,Git 决定使用我的工作电子邮件,所以它在 git push 上抛出 403。我做了git config --system --unset credential.helper,它说权限被拒绝,所以我检查了文件C:\Program Files\Git\mingw64\etc\gitconfig,它显示它由管理员拥有,所以我关闭了PowerShell并再次以管理员身份运行,git config --system --unset credential.helper运行成功。
    【解决方案2】:

    我正在添加这个问题的答案,因为我在尝试解决几乎相同的问题时最终来到了这里。

    在 git 中也有这个问题。但据我所知,不仅仅是我的 git 出现了权限被拒绝的问题,而是整个应用程序文件夹。即使我尝试在另一个项目中使用 git,它也可以正常工作。

    要加上@Aaron D 的答案,您可以使用 $(whoami) 而不是 bhishan。就像这样:

    $ sudo chown $(whoami) ~/Copy/try
    

    https://stackoverflow.com/a/52315546/4477550reference

    附: 回答你的问题:

    现在,我的问题是如何删除名为“try”的文件夹?

    你可以运行这个命令:

    $ sudo rm -rf /home/bhishan/Copy/try
    

    【讨论】:

      【解决方案3】:
      git init
      

      这在.git 文件夹被删除的情况下对我有用。

      【讨论】:

      • 这不是推荐的解决方案,因为您正在删除 git 存储库和版本信息并从头开始。你的提交历史将会消失。如果它是一个共享存储库(而不仅仅是在您的计算机上独立),那么这绝对行不通。
      • 别这样,它毁了我的很多工作
      • @DanielKobe 我同意。我曾提到,在 .git 文件夹丢失/删除的情况下,这对我有用。如果 .git 文件夹丢失,您已经失去了这项工作。
      【解决方案4】:

      就我而言,我只是使用了 git init 命令,一切正常。

      【讨论】:

        【解决方案5】:

        我一直在努力解决这个问题,而 git config http.postBuffer 157286400 在我的情况下成功运行。

        【讨论】:

        • 如果你用反引号包裹内联代码 sn-ps 以将其标记为内联代码,这将很有帮助。请参阅 StackOverflow editing help 文档以获取有关如何有效地格式化您的问题和答案的示例和指南
        猜你喜欢
        • 2018-08-23
        • 1970-01-01
        • 1970-01-01
        • 2012-06-14
        • 2012-08-18
        • 1970-01-01
        • 2016-04-03
        • 2015-11-09
        • 2017-12-02
        相关资源
        最近更新 更多