我有app服务器,我使用Chef +一些ad-hoc 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
?无论如何都要覆盖此行为,以便在未设置名称和电子邮件时不会出错?
答案 0 :(得分:194)
我花了很多时间来调用php脚本来初始化并提交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,配置根本不起作用。
希望这会有所帮助。
答案 1 :(得分:42)
您可以执行以下操作,而不是执行git pull
:
git fetch
git reset --hard origin/master
这些都不需要您配置您的git用户名/电子邮件。
这会破坏任何未提交的本地更改/提交,并使您的HEAD指向提交(而不是分支)。但这些都不应该成为app服务器的问题,因为你不应该进行本地更改或提交到该存储库。
答案 2 :(得分:31)
如果您使用的是sourcetree:存储库 - >存储库设置 - >高级 - >取消选中“使用全局用户设置”框
对我很有用。
答案 3 :(得分:22)
它对我有用,试试这个.. 您需要使用远程访问配置终端。
git config --global user.name "abc"
git config --global user.email "abc@example.com"
答案 4 :(得分:8)
更新您的引导程序以创建具有正确内容的${HOME}/.gitconfig
,或从某处复制现有的。{/ p>
答案 5 :(得分:5)
git config user.email "insert github email here"
git config user.name "insert github real name here"
这对我很有用。
答案 6 :(得分:2)
它无法自动检测电子邮件地址。
默认情况下,它将使用您的系统用户名,例如abc@xyz.none
。
因此,您需要按以下方式设置电子邮件:
git config user.email "someone@gmail.com"
设置电子邮件后,您可以运行git命令并提交更改。
答案 7 :(得分:2)
恕我直言,解决此错误的正确方法是配置全局git config文件。
为此,请运行以下命令: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
有关更多详细信息,请参见Customizing Git - Git Configuration
当您看到类似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.email设置告诉git您是谁,因此后续的git commit
命令不会抱怨,*** Please tell me who you are.
很多时候,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命令并浏览我认为有用的东西之前,对项目文件进行了备份-多次节省了培根。
答案 8 :(得分:2)
我遇到同样的问题,并通过添加默认名称和电子邮件存储库设置解决了这个问题。
正如Doron所说 -
如果您使用的是sourcetree:存储库 - >存储库设置 - >高级 - >取消选中"使用全局用户设置"框。
添加默认名称和电子邮件地址。
答案 9 :(得分:1)
每次更新应用服务器时,我是否真的需要将其设置为执行简单的git pull origin master?无论如何都要覆盖此行为,以便在未设置名称和电子邮件时不会出错?
它只会询问一次,并确保将此机器的rsa公钥添加到您尝试提交或传递拉取请求的github帐户上。
可以找到有关此内容的更多信息:Here
答案 10 :(得分:1)
就我而言,正如乍得在上面所说,我在“电子邮件”一词上缺少“ e”,但您却并非如此。请点击以下命令,查看是否一切正常。
git config -l
答案 11 :(得分:1)
对我来说问题是网络连接,一旦我重新连接到我的wifi,它就可以获取细节并提交而没有任何问题。
答案 12 :(得分:0)
查看配置文件。
存储库>存储库设置>编辑配置文件。
检查[user]
部分是否存在。如果缺少用户部分,请添加它。
示例:强>
[user]
name = "your name"
email = "your email"
答案 13 :(得分:0)
我使用heroku cli 1.必须使用所有用户名和用户电子邮件
$ git config --global user.email .login电子邮件。
$ git config --global user.name .heroku名称。
git add *
5 git commit -m“在配置user.name之后,用户电子邮件”
git push heroku master
答案 14 :(得分:0)
您必须这样写电子邮件
# create auxilliary columns
df1['ref'] = df1.index - pd.to_timedelta(df1.index.minute % 2, unit='m')
df1['ref2'] = df1.ref + pd.Timedelta(minutes=2)
df2['ref'] = df2.index - pd.to_timedelta(df2.index.minute % 2, unit='m')
df2.index.name = 'created_at_2'
df2 = df2.reset_index().set_index('ref')
# join on ref and select the relevant lines
x1 = df1.join(df2, on='ref', how='inner')
x1 = x1.loc[(x1.index <= x1.created_at_2)
& (x1.created_at_2 - x1.index <= pd.Timedelta(minutes=2))]
# join on ref2 and select the relevant lines
x2 = df1.join(df2, on='ref2', how='inner')
x2 = x2.loc[(x2.index <= x2.created_at_2)
& (x2.created_at_2 - x2.index <= pd.Timedelta(minutes=1))]
# concatenate the partial result and clean the resulting dataframe
merged = pd.concat([x1, x2]).drop(columns=['ref', 'ref2'])
merged.index.name = 'created_at'
然后:输入用户名
git config --global user.email "you@example.com"
出现“弹出窗口”之后
写 USERNAME&EMAIL (用户名和电子邮件地址) 针对您要捐款的帐户
答案 15 :(得分:0)
我使用Jenkins并在尝试执行发行版(需要git commit)时遇到了这个问题。要解决此问题,我需要添加一个自定义用户名/电子邮件地址(参见图片),以确保在签出代码后,在执行发行时它使用了我的构建用户的名称/电子邮件地址。请注意,可以从Jenkins Multibranch Pipeline项目配置中获得此配置。
答案 16 :(得分:0)
git pull
不需要这样做。
但是,如果拉动导致合并冲突,则看起来很必要。
答案 17 :(得分:0)
我在尝试提交某些文件时遇到了此错误消息。
只需运行git fetch
然后尝试我的提交再次为我工作。
答案 18 :(得分:0)
我将此作为错误的错误消息:
git pull
在cmd线上工作正常
git pull
在Perl CGI进程(从github自动部署的webhook)中失败,但上述错误。
执行git status
标识了一个冲突文件。对它进行排序可以解决问题。
稍后当我更改了一些配置设置时,问题再次发生。
这一次,设置$ HOME和$ USER env vars修复了它(默认情况下在CGI进程中没有设置)
答案 19 :(得分:0)
要为此/当前存储库设置配置,只需删除 --global 并像这样设置名称/电子邮件:
$ git config user.name "John Doe"
$ git config user.email "JohnDoe@gmail.com"
答案 20 :(得分:-1)
要修复我使用:git config --global user.email&#34; you@example.com"和工作。
user.mail无法正常工作,需要输入E. Typo吗?
答案 21 :(得分:-6)
这是一个错字。你意外地设置了&#34; user.mail&#34;没有&#34; e &#34;。通过设置&#34;用户来修复它。 e mail&#34;在
的全局配置中git config --global user.email&#34; you@example.com"
在此找到解决方案