现在在git中提交代码需要使用gpg吗?

4

就在几天前,我能够完美地使用git。

今天,我尝试在我的公共仓库上进行git提交,但是收到了以下消息:

git error: cannot run /usr/local/bin/gpg:
No such file or directory error: could not run gpg. 
fatal: failed to write commit object

我最终安装了gtg并按照Github的说明配置了gtg。现在,提交命令可以工作,但是每次提交都需要输入我的gtg密码。

我知道这样更安全,可能是使用git的更好方法,但是当我能够简单地提交而没有任何gtg错误时发生了什么?我喜欢只在推送时处理身份验证,输入我的Github.com凭据。

有没有办法禁用gtg,以便我在提交时不会出现git error: cannot run /usr/local/bin/gpg错误?

一些额外的细节:

  • 我不确定我对电脑做了什么,导致git抛出了之前不存在的gtg错误。几天前我正在学习使用Jekyll,这要求我安装homebrew。不确定是否与此有关。
  • 我正在运行Mac OS X El Capitan

1
git config --global --list | grep commit 的输出是什么?我怀疑你设置了 commit.gpgsign=true - Andreas Louv
哇,你说得对!我刚刚运行了 vim ~/.gitconfig 命令,找到了 gpgsign 行,并将其改为 false。非常感谢! - Doug Beney
@andlrc:你应该把那个发表为答案。 - Keith Thompson
2个回答

27

以下命令的输出是什么。我怀疑你启用了commit.gpgsign=true

git config --global --list | grep commit
你可以使用以下方式禁用它。
git config --global --add commit.gpgsign false

或者通过手动从~/.gitconfig中删除该行。


1
太好了!这比我直接编辑配置文件要更无缝。再次感谢!当我在谷歌搜索我的错误时,我没有找到任何有用的信息,所以我真的希望这个问题能在谷歌上排名,为其他人提供相关的帮助。 - Doug Beney
那一定是件坏事吗? - Doug Beney
1
问题:禁用它的命令应该是:git config --global --add commit.gpgsign false(请注意 commit.gpgsign 而不是像您当前配置的 config.gpgsign)?我认为那是一个打字错误? - Jason Frank

0

特别感谢andlrc在这个问题上的帮助!

以下是解决此问题的步骤:

第一步

在终端中输入命令vim ~/.gitconfig。如果您喜欢与vim不同的文本编辑器,当然可以使用其他编辑器打开~/.gitconfig。

第二步

查找代码行gpgsign = true。将其更改为gpgsign = false

第三步

保存文件并尝试再次git commit。它应该可以工作了!


1
你也可以使用 git config --global --edit 命令(我承认我自己只是运行了别名为 vim 的 vi 编辑器的 vi ~/.gitconfig 命令)。这会在配置文件上运行你的 core.editor,无论它在哪里。如果你的系统有那些讨厌的 XDG_HOME 东西,你的 git 配置文件可能在那里而不是在 $HOME 目录下。 - torek

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