Git:“请告诉我你是谁”;错误

我有应用程序服务器,我使用Chef +一些特别的bash脚本引导在一起。问题是,当我想在这些应用服务器上运行更新时,我得到:

19:00:28: *** Please tell me who you are.


Run


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

我真的需要为每次更新应用服务器时执行简单的git pull origin master设置这个吗?是否有任何方法来覆盖这种行为,以便在没有设置姓名和电子邮件时不会出错?

518160 次浏览

更新你的引导过程来创建一个包含正确内容的${HOME}/.gitconfig,或者从某个地方复制一个现有的。

我真的需要在每次更新应用服务器时设置简单的git pull origin master吗?是否有任何方法来覆盖这种行为,以便在没有设置姓名和电子邮件时不会出错?

它只会问一次,并确保这台机器的rsa公钥已添加到您试图提交或传递拉请求的github帐户上。

有关此的更多信息可以找到:在这里

你可以这样做,而不是做git pull:

git fetch
git reset --hard origin/master

这两种方法都不需要配置git用户名/电子邮件。

这将破坏任何未提交的本地更改/提交,并将使HEAD指向一个提交(而不是一个分支)。但对于应用服务器来说,这两个都不是问题,因为您不应该进行本地更改或提交到该存储库。

如果您正在使用sourcetree: Repository -> Repository Settings -> Advanced ->取消勾选“使用全局用户设置”框

对我来说很管用。

我花了很多时间在它上面,当我调用PHP脚本initcommit来git。 我发现工作流程应该是:

  1. git init
  2. git config user.name "someone"
  3. git config user.email "someone@someplace.com"
  4. git add *
  5. git commit -m "some init msg"

如果您交换[23]和1,配置将无法工作。

我希望这能有所帮助。

我有这作为一个错误的错误消息:
git pull在cmd行
上工作正常 git pull在Perl CGI进程中失败(一个从github自动部署的webhook),出现上述错误

执行git status确定了冲突文件。对它进行排序解决了这个问题。

问题再次发生后,我改变了一些配置设置。

这一次,设置$HOME和$USER环境变量修复了它(在CGI进程中默认不设置)

我在试图提交一些文件时遇到了这个错误消息。

简单地运行git fetch,然后再次尝试我的提交对我有用。

那是打字错误。您不小心设置了“user”。没有“e”的邮件。通过设置“user”来修复它。在全局配置中使用email

Git配置——全局用户。电子邮件“you@example.com”

这里找到了解

https://stackoverflow.com/a/14662703 < a href = " https://stackoverflow.com/a/14662703 " > < / >

看一下配置文件。

知识库>知识库设置>编辑配置文件。

检查[user]部分是否存在。如果缺少用户部分,请添加。

例子:

[user]
name = "your name"
email = "your email"

我也遇到了同样的问题,通过添加默认名称和电子邮件存储库设置解决了这个问题。

正如多伦所建议的——

如果您正在使用sourcetree: Repository -> Repository Settings -> Advanced ->取消勾选“使用全局用户设置”框。

添加默认用户名和邮箱地址。

它为我工作,试试这个..

.配置远程访问
     git config --global user.name "abc"
git config --global user.email "abc@example.com"
git config user.email "insert github email here"
git config user.name "insert github real name here"

这对我来说很有效。

对我来说,问题是网络连接,一旦我重新连接到我的wifi,它就可以获取详细信息并提交,没有任何问题。

要修复,我使用:git配置——全局用户。发邮件至“you@example.com”即可。

用户。邮件没有工作,可能需要输入一个e错字?

在我的例子中,正如查德上面所说,我在“电子邮件”这个词上缺少了“e”,但我看到你不是这样的。请按以下命令查看是否一切都按预期拉动。

git config -l

我使用heroku cli 1. 必须使用所有用户名和用户邮箱

$git配置——全局用户。电子邮件。登录电子邮件。

$git配置——global user.name .heroku name。

  1. Git pull [Git url]
  2. git init
  3. git add *

    5 . git commit -m "after config user.name,user email"

    . xml
  4. Git push heroku master

你必须这样写你的电子邮件

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

然后:写用户名

 git config --global user.name "Your Name"

弹出窗口后将出现

用户名,电子邮件 为帐户你想贡献

我使用Jenkins,在尝试执行释放(需要git提交)时遇到了这个问题。为了解决这个问题,我需要添加一个自定义用户名/电子邮件地址(见图)自定义用户名/电子邮件地址这确保当代码签出时,它在执行发布时使用我的构建用户名/电子邮件地址。注意,此配置可从Jenkins Multibranch Pipeline项目配置中获得。

git pull不需要这个。 然而,如果pull导致合并冲突,那么它似乎是必要的

恕我冒昧,解决这个错误的正确方法是配置你的全局git配置文件。

执行以下命令:git config --global -e

将出现一个编辑器,您可以在其中插入默认的git配置。

以下是一些例子:

[user]
name = your_username
email = your_username@users.noreply.github.com
[alias]
# BASIC
st = status
ci = commit
br = branch
co = checkout
df = diff

更多细节,参见定制Git - Git配置

当你看到类似git config

$ git config --global core.whitespace \
trailing-space,space-before-tab,indent-with-non-tab

…你可以把它放到你的全局git配置文件中:

[core]
whitespace = space-before-tab,-indent-with-non-tab,trailing-space

对于一次性配置,你可以使用类似git config --global user.name 'your_username'的东西

如果你没有全局设置你的git配置,你需要为你在本地使用的每一个git repo这样做。

user.name和user.name。email设置告诉git你是谁,所以后续的git commit命令不会报错,*** Please tell me who you are. . mail设置会告诉git你是谁

很多时候,git建议您运行的命令并不是您应该运行的命令。这一次,建议的命令还不错:

$ git commit -m 'first commit'


*** Please tell me who you are.


Run


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


提示:在我非常熟悉git之前,在运行建议的git命令和探索我认为可行的东西之前,对我的项目文件进行备份,在很多情况下挽救了我的生命。

无法自动检测电子邮件地址。

默认情况下,它采用您的系统用户名,如abc@xyz.none

所以你需要像下面这样设置你的邮箱:

git config user.email "someone@gmail.com"

设置email后,你可以运行git命令并提交你的更改。

  1. git init
  2. Git add *
  3. Git commit -m "some init msg"

要设置this/current repo的配置,只需删除——global并设置名称/电子邮件,如下所示:

$ git config user.name "John Doe"
$ git config user.email "JohnDoe@gmail.com"

如果你发现旧的默认行为很有用(即使用本地用户名和主机名作为作者标识,而不是识别你的人),你可以运行:

git config --global user.name "$USER" && git config --global user.email "$USER@$HOSTNAME"