【问题标题】:fatal: could not open '.git/COMMIT_EDITMSG': Permission denied致命:无法打开'.git/COMMIT_EDITMSG':权限被拒绝
【发布时间】:2013-11-11 22:18:19
【问题描述】:

我正在尝试在 github 页面上部署 octopress。我遵循了这些说明:

http://octopress.org/docs/deploying/github/

这一切都很好,直到提交部分,我得到错误:

致命:无法打开“.git/COMMIT_EDITMSG”:权限被拒绝

当然,我是我的 github.io 页面的所有者,我以前从未遇到过这个问题。为什么会发生这种情况,更重要的是我该如何解决?

【问题讨论】:

  • 你是 c# 用户吗?还是为 win 和 Linux 提供双启动?
  • 我通过 make .git 显示的文件夹解决了它,它被隐藏了:-)

标签: github octopress


【解决方案1】:

我通过删除.git/COMMIT_EDITMSG 解决了这个问题。很奇怪,我知道。

【讨论】:

  • 一样,但偶尔会发生这种情况,我不得不进入并将 .git 文件夹和所有子文件夹设置为可写(取消选中只读)
  • 也为我工作
  • 也为我工作
【解决方案2】:

这不是来自远程 Git 存储库的错误消息,这是您本地文件的问题。您可能在同一目录中将 git(或 rake)用作另一个用户(例如 root),它创建了您现在无法覆盖的文件。

只需使用 chown 将文件的所有权更改为您当前的用户,例如:

chown -R $(whoami) .

【讨论】:

  • 这太棒了!谢谢。对于 Mac,它可以像这样“sudo chown -R $(whoami)”。
  • id -nuwhoami 可能确实是一个更好的选择,并不是每个 chown 都接受数字用户 ID
  • 你先生是完美的。在将 rails 项目从一个 ubuntu 系统移动到另一个系统时,我总是卡住,在浪费了几个小时甚至一整天之后,我有点能够修复它,但今天我终于得到了我应该做的事情来解决整个项目的问题和实际上包含所有项目的目录。非常感谢..!!!!
  • macOS 上是chown -R $(whoami) .
  • 谢谢,已更新。事实上,长选项可能是 GNU 独有的
【解决方案3】:

如果您正在使用该死的 Microsoft Windows,则该错误可能是由于您正在“查看”文件资源管理器中的隐藏文件..就是这样!

【讨论】:

  • 设置一个该死的 Windows 机器来测试一些代码,并在这类事情上浪费了大量的精力。为什么,为什么,为什么我要问,在他们的大量开发人员中,他们真的不能让事情开箱即用吗?
  • 这是我的问题。我实际上不得不停止显示隐藏文件 - 只是关闭文件资源管理器不起作用。
  • 我只设置了显示隐藏文件并且它是相同的 xD
【解决方案4】:

如果您使用 Windows 并且遇到任何 Git 权限问题,请确保您的(本地)存储库的 .git 文件夹内容 未标记为隐藏

但是,您可以隐藏目录本身,而不是它的内容(文件、子目录)。

【讨论】:

    【解决方案5】:

    Windows 用户的另一种解决方案: 如果您使用 YandexDisk - 以及同步下的 .git 文件夹 - YandexDisk 在同步后设置隐藏和只读属性。 所以,关掉 YandexDisk 并使 .git 文件夹和所有子文件夹和文件不可见且不只读

    【讨论】:

    • 我只读取了我的文件,因为我用 CD 刻录和复制了它们。从所有 git 文件中删除 readonly 属性(使用一些 c# 代码使其自动化)后一切正常。
    【解决方案6】:

    chmod 664 文件.git/COMMIT_EDITMSG 赋予它组写权限。

    在我的情况下,该文件由属于我的开发组的另一个用户拥有。给它组写权限解决了它。

    .git 目录应位于存储库的根目录中。

    命令(假设你在 .git 目录中):

    chmod 664 COMMIT_EDITMSG 
    

    【讨论】:

      【解决方案7】:

      这往往不是权限问题。

      当合并时提示您记录提交消息(例如)并且您没有保存并退出文本编辑器而只是退出时,可能会出现这种情况。

      Git 似乎假设仍然有人在编辑提交消息并拒绝覆盖现有文件,因为这会导致意外行为和丢失另一条提交消息。

      【讨论】:

        【解决方案8】:

        如果你使用 TortoiseGit,你可能已经打开了一个提交对话框

        【讨论】:

          【解决方案9】:

          在我的情况下,原因是当前用户(A)不是COMMIT_EDITMSG文件所有者(B),将当前用户更改为B并再次提交。 sudo su B

          【讨论】:

            【解决方案10】:

            快速注释:

            如果您将文件设置为隐藏/只读,则可能会发生这种情况。尝试将整个文件夹设置为取消隐藏并取消选中只读。

            【讨论】:

              【解决方案11】:

              如果您使用的是 linux。 去

              cd /applicationname/.git
              ls -al
              

              您将看到 COMMIT_EDITMSG 文件的用户

              进入根目录

              sudo su
              chown youruser: COMMIT_EDITMSG
              

              一切就绪! 希望这会有所帮助

              【讨论】:

              • 谢谢!这样解决我的问题
              【解决方案12】:

              如果您使用的是 Windows,请尝试以下方法之一。

              1. 如果 .git 文件夹被隐藏,则取消隐藏它及其内容

              2. 转到您的 .git 文件夹并删除“COMMIT_EDITMSG”文件

              【讨论】:

                【解决方案13】:

                这发生在我身上,因为我不小心将我的存储库文件夹隐藏在 Windows 资源管理器属性选项中,后来取消选中隐藏属性。可能,这些操作使 .git 文件夹文件以某种方式发生了变化。但后来删除 COMMIT_EDITMSG 文件解决了。

                【讨论】:

                  【解决方案14】:

                  我在 Windows 上运行 Visual Studio 和文件资源管理器时遇到了类似的问题。关闭它们可以解决问题。

                  【讨论】:

                    【解决方案15】:

                    我正在使用 Ubuntu Linux。出于某种原因,我的 COMMIT_EDITMSG 文件归 root 用户所有。我不明白为什么,因为它以前工作过,而且我没有问题地提交了。

                    -rw-r--r--  1 root      root           21 Απρ   3 23:06 COMMIT_EDITMSG
                    

                    正如上面其他人所说,您需要将所有权更改为当前用户。就我而言,它是:

                    sudo chown -R your_user.www-data .git
                    

                    【讨论】:

                      【解决方案16】:

                      只需在命令行上运行:chmod 777 -Rf /var/www/html/project-name/.git

                      【讨论】:

                        猜你喜欢
                        • 2015-11-29
                        • 1970-01-01
                        • 1970-01-01
                        • 2021-07-23
                        • 2020-08-29
                        • 2020-05-31
                        • 1970-01-01
                        • 2011-06-22
                        • 2015-12-16
                        相关资源
                        最近更新 更多