预期提交者名称 Git 推送问题

12
我想提交/推送一些代码到GIT,但当我尝试使用SourceTree提交代码时,它给了我一个错误:

我正在尝试提交/推送一些代码到GIT,但是当我尝试使用SourceTree提交代码时,它给出了一个错误:

remote: Push rejected.[K
remote: 
remote: refs/heads/Branch Details: 6a5d6d4cdd53db591e53db78c51225a619af487f: expected committer name 'Your Name Complete' but found 'Your Name'[K
remote:

提交已完成,但代码未推送到远程。

我刚刚在全局设置中注意到我的名称是“Your Name”,并将其更改为(TO:Your Name Complete),还在工具-->选项中验证了名称,现在显示为“Your Name Complete”。 我还尝试过:

git config --global user.name "Correct User Name"
git config --global user.email "your@email.com"

但仍然无法推送更改,错误仍然相同。有人能帮我将代码推送到远程仓库吗?

5个回答

15

参考这篇博客文章(该文章是关于标签的,但对于您的情况,需要修改分支HEAD),您需要至少修改要推送的分支HEAD:

git commit --amend --allow-empty --author="LastName, FirstName <name@email.com>"

然后推。


我执行了以下命令 -- (master) $ git commit --amend --allow-empty --author="Lastname, Firstname email@emc.com" 但是出现了错误 -- 致命错误: 找不到现有作者 'Lastname, Firstname email@emc.com' --需要帮助.. - voraD
1
@voraDпЉМдљ†иГљеР¶е∞ЭиѓХеЬ®зїУжЭЯзЪД"дєЛеЙНеК†дЄКжЬАзїИзЪД>пЉЯ<email@emc.com>" - VonC
1
不错,这个帮了我很多。一些公司同时使用用户名和作者,因此您需要按照@VonC的方式进行git提交,然后您也可以从工具中(如IntelliJ)进行git push。 - Ashish Shetkar

6

希望用户能够重置/撤销本地提交,然后在更正全局配置中的名称后重新提交代码,这样就可以成功推送了。以下是撤销提交的方法:

git reset HEAD~1  -- revert changes made to the index (i.e., that you have added)

目前,我尝试了空提交,并尝试使用一些空格提交相同的文件(以尝试进行虚假提交),但这两种方法都没有对我起作用。然后,我只是删除了克隆的存储库,重新克隆它,然后再次提交代码,这次成功地推送了,因为我已经在配置中更改了名称。


那也应该可以,虽然我总是设法直接修改提交,就像我在回答中提到的那样。+1 - VonC

2

我今天遇到了类似的问题,其他答案中提供的建议对我没有用。以下是我解决问题的方法:

a) 确认本地和全局 Git 文件中的 user.name 和 user.email 是否符合预期

本地 Git 配置文件 -> 名称为 'config',没有扩展名,存储在本地仓库文件夹的'.git'目录下

全局 Git 配置文件 -> 没有名称,只有扩展名 '.gitconfig',存储在用户个人资料文件夹中,例如 "C:\Users\yourusername" 文件夹

这一步没问题。

b) 我之前的提交已经成功推送了。所以,我比较了之前的 git 推送和新的 git 推送。我发现在新的 git 推送中,我试图推送多个提交,考虑将其合并为单个提交。合并提交后,我成功地推送了我的更改。


2

这对我有用

  1. 检查本地提交者名称

    git log --pretty=fuller @{u}..HEAD

  2. 按照全局设置更改

    git config --global user.name "名 姓"

    git config --global user.email "名.姓@域名.com"

  3. 这仅更改新的提交,因此要重新生成提交,请尝试推送更新的元数据

    git commit --amend --reset-author

现在 git push 应该可以工作了


第三步是一个特别好的技巧。 - Tom

1

我遇到了同样的问题,撤销更改,然后更新git配置并重新提交对我有用。


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