无法打开git/commit_editmsg。

8

我有一个与Dropbox文件夹链接的Git代码仓库。最近,我更换了笔记本电脑,现在无法执行“git commit -am”功能。我一直收到这个错误消息:“无法打开'.git/COMMIT_EDITMSG':权限被拒绝。”

有任何想法吗?

谢谢, Liron


是的,仅写git commit -a后仍然会出现此错误。 - liron
7个回答

13

假设你使用的是Windows计算机,很有可能您修改了一个隐藏文件并且不再具备该文件的写入权限。

要解决这个问题,只需导航到您的.git文件夹并删除"COMMIT_EDITMSG"文件即可。


对我有用。谢谢。 - user11910061
谢谢。我在Windows 10和通过PhpStorm使用GIT时成功了。 - Web Assistant

5
这是一个文件权限问题,您当前登录的用户没有使用这些文件的权限。
如果这是您的代码仓库,您可以尝试以下操作:
1. 切换到拥有代码仓库的其他用户 2. 更改代码仓库的所有者(sudo chown youruser -R yourrepodir/) 3. 使用 chmod 更改特定文件的权限(应避免使用 0777,因为它不安全)

你可以在提交之前将其存储并保存存储更改。然后再提交你的数据。 - AYohannes

0

我在工作副本中有一个 git 存储库内部的另一个 git 存储库时遇到了这个问题...希望能帮到你。


0
尝试删除 .git/COMMIT_EDITMSG,并重新运行提交。
rm -rf .git/COMMIT_EDITMSG

0
尝试一下这个:git init --shared=0777

指定git仓库可以在多个用户之间共享。这使得属于同一组的用户可以将代码推送到该仓库中。 - amitchhajer
更改文件夹访问权限不就足够了吗?例如 chmod 755 <folder>。有关 chmod 的信息,请参见 http://en.wikipedia.org/wiki/Chmod。 - mbde

0

我曾经遇到同样的问题,以下是我解决问题的步骤。

1)首先检查文件权限(发现只有root用户有访问权限)

$ls -l .git/COMMIT_EDITMSG

-rw-r--r-- 1 root root 13 Jun 11 07:54 .git/COMMIT_EDITMSG

2)以root用户身份登录并更改文件权限

# chown arun:arun .git/COMMIT_EDITMSG (这里的arun是我的用户名,请参考chown命令获取更多详细信息)

3)现在文件权限已更改,可以提交而不会出现任何问题!

$ls -l .git/COMMIT_EDITMSG

-rw-r--r-- 1 arun arun 12 Jun 16 11:47 .git/COMMIT_EDITMSG


0

确保您使用的 Git 应用程序(无论是 GUI、cmd 还是 bash)正在以管理员身份运行。当然,这仅适用于 Windows 操作系统。


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