错误:无法锁定配置文件filepath/../.git/config:权限被拒绝。

38

我在路径/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

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

它运行得很好,但是当我尝试删除“try”文件夹时,我无法删除该文件夹。 我也无法执行以下命令:

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”的文件夹?

5个回答

49
这些问题发生在您使用sudo运行具有副作用(如文件创建)的命令时。在您的主目录中找到由root所有的文件和目录是很常见的。在这种情况下,似乎您的.git/config文件归root所有,因此在尝试锁定它时会出现权限错误。从~/Copy/try目录运行sudo chown bhishan -R .git应该可以解决权限问题。

19
我正在使用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成功执行了。 - agm1984

4

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

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

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

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

https://dev59.com/I1UM5IYBdhLWcg3wINek#52315546参考文献

P.S. 回答你的问题:

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

您可以运行此命令:

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

2
git init

.git文件夹被删除的情况下,这对我很有帮助。

最初的回答:


1
这不是一个推荐的解决方案,因为你将删除 git 仓库和版本信息,并从头开始重新开始。你的提交历史将会消失。如果这是一个共享的仓库(而不仅仅是你电脑上独立的仓库),那么这肯定行不通。 - Aaron D
3
不要这样做,这会毁掉我的许多工作。 - Daniel Kobe
@DanielKobe 我同意。我曾经提到过,如果.git文件夹丢失/删除,这对我有用。如果.git文件夹丢失了,你已经失去了那些工作。 - PavanBhushan

0

我曾遇到这个问题,但是使用 git config http.postBuffer 157286400 成功解决了。


如果您使用反引号将内联代码片段包装起来以标记为内联代码,则会很有帮助。请参阅StackOverflow编辑帮助文档,了解如何有效地格式化您的问题和答案的示例和指南。 - Clay H

-1
在我的情况下,我只是使用了git init命令,一切都正常工作。

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