【问题标题】:git- Committing using an editor for the message: The document “COMMIT_EDITMSG” could not be opened. You don’t have permissiongit- 使用编辑器提交消息:无法打开文档“COMMIT_EDITMSG”。你没有权限
【发布时间】:2021-02-04 16:44:55
【问题描述】:

我有一个 git 存储库,过去我可以在没有任何其他计算机问题的情况下提交到该存储库。 现在,在新计算机上,我克隆存储库、修改文件并添加它。

然后,我尝试提交,显然我没有正确设置编辑器,所以不是 TextEdit 打开(我想要的)Vi 在终端中打开编辑文件。 vi异常关闭,然后我在bash编辑器中设置正确,再试一次。 我尝试使用 TextEdit(或之后的其他编辑器)来编写提交消息,我在弹出窗口中收到以下消息:'无法打开文档“COMMIT_EDITMSG”。你没有权限。'

当我在终端中使用 git commit -m"..." 时不会发生这种情况。

我知道有一些相关主题的主题,我已经看到了。 例如: About fatal: could not open '.git/COMMIT_EDITMSG': Permission denied

could not open git/commit_editmsg

fatal: could not open '.git/COMMIT_EDITMSG': Permission denied

"unable to append to .git/logs/refs/heads/master" when commiting

仅举几例。

我尝试做其中提到的几件事:

  • chmod -R u+x .git
  • sudo chown -Rc $UID .git/ (并得到消息“chown:非法选项--c”)
  • chmod 664 COMMIT_EDITMSG
  • 删除文件 COMMIT_EDITMSG
  • git init --shared=0777
  • 从硬盘中删除本地仓库,从 GitHub 克隆,然后重试

到目前为止还没有运气。我只能提交 git commit -m"..." (然后成功推送到远程),但从不使用编辑器来编写消息。

如果有帮助,操作系统是 macOS Sierra。

如果有人知道我可能做错了什么,或者我在相关主题中遗漏了什么,我将不胜感激。

【问题讨论】:

    标签: git permissions commit


    【解决方案1】:

    好的,经过在不同场合的多次尝试,我发现了一些对我来说确实有效的方法:

    我在本地 git 存储库中编辑了配置文件。 在那里,在 [core] 下,我添加了以下内容:

    editor = open -a TextEdit -W

    (使用 TextEdit 作为所需的编辑器)

    由于某种原因,当我在我的 bash 配置文件中有相同的内容时,结果不一样...

    【讨论】:

      【解决方案2】:

      耶!我也面临这种类型的东西。但是解决起来很简单。打开您保留为存储库的文件夹并在这些路径上打开您的 cmd 并给出我在下面建议的命令。

      attrib -h -s -r /s /d *.*

      del.git/COMMIT_EDITMSG

      所以它正在工作。

      【讨论】:

      • 您好@smit Prajapati,感谢您的第一个回答。改进它的一种方法可能是解释为什么您给出的两个命令可以解决问题,以便具有相似但不完全相同的问题的人也可以从您的答案中受益。 (您可能已经知道,但如果不知道,您可以使用左下角的灰色“编辑”链接编辑您的帖子。
      猜你喜欢
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 2011-09-07
      • 1970-01-01
      • 2014-12-30
      • 2015-05-19
      相关资源
      最近更新 更多