git 配置环境变量

git config environment variables

希望你今天能回答我!

来自 git help commit 的文档说:

COMMIT INFORMATION
  Author and committer information is taken from the following
  environment variables, if set:

      GIT_AUTHOR_NAME
      GIT_AUTHOR_EMAIL
      GIT_AUTHOR_DATE
      GIT_COMMITTER_NAME
      GIT_COMMITTER_EMAIL
      GIT_COMMITTER_DATE

我通过执行以下命令设置了 GIT_AUTHOR_NAMEGIT_AUTHOR_EMAILGIT_COMMITTER_NAMEGIT_COMMITTER_EMAIL 变量:

# export GIT_AUTHOR_NAME=".."
# export GIT_AUTHOR_EMAIL=".."
# export GIT_COMMITER_NAME=".."
# export GIT_COMMITER_EMAIL=".."

我用 echo

检查了他们的内容

但是 git commit 命令仍然告诉我:

# git commit
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@fedora.(none)')

出于某种原因我需要以 root 身份执行此操作

是的,我知道我可以简单地执行那个 git config .. 命令,但我很好奇为什么我不能告诉 git 这些环境变量的信息

I need to do it as root for some reason

如果你有:

  • 将这些变量设置为普通用户,然后执行 sudo git commit
  • 或相反:使用 sudo 设置这些变量,然后执行常规 git commit

然后 git 命令将看不到 GIT_xxx 变量,并回退到配置(未设置)

这是我在设置 GIT_COMMITTER_xxx 变量中的拼写错误(您可以在问题正文中看到它们)。设置实际变量按预期工作。