Git作者未知

alb*_*lbo 38 git github

我所有提交中的作者姓名都是未知的 https://github.com/freeenergy/Teacher-Login-Validation-Module

做过这个

$ git config --global user.name "Firstname Lastname"Sets the name of the user for all git instances on the system
$ git config --global user.email "your_email@youremail.com"
Run Code Online (Sandbox Code Playgroud)

但仍然是作者/提交者名称显示[未知]

不知道我在做什么我尝试设置$ GIT_AUTHOR_NAME ="我的名字",它将我的名字改为我的用户名[freeenergy](IE我的问题已得到解决.)但当我切换回我的另一台电脑时问题是一样的.

我的配置文件现在看起来像这样,但仍然作为[未知]提交

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = git@github.com:freeenergy/my-project.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = my name
    email = myEmail.com
Run Code Online (Sandbox Code Playgroud)

Bob*_*ore 49

甚至比跑步更好git config,您可以~/.gitconfig直接编辑文件.查看是否有[user]相关信息的部分.例如,我~/.gitconfig有这个......

[user]
    name = Bob Gilmore
    email = me@mydomain.com
Run Code Online (Sandbox Code Playgroud)

(前面没有空格,[user]名称和电子邮件标签前面有单个标签)

如果它没有正确设置,请继续手动编辑.gitconfig文件.

  • 检查您有哪些`.config`文件.有三个可用的[--system, - global或--file],并按特定顺序搜索以包含您的作者详细信息.值得全面检查它们. (4认同)
  • 如果你没有任何 `~/.gitconfig` 文件,请创建一个,或者只使用 `$ git config --global user.name "You Name"` 和 `git config --global user.email johndoe@example .com` 这样 git 就会为你创建一个。 (2认同)
  • `git config`的有用标志:`-e`或`--edit`:打开编辑器修改指定的配置文件; --system, - global或repository(默认). (2认同)

Eth*_*ick 24

我遇到了Github没有正确将我的提交链接到我的帐户的问题.如果您认为自己的电子邮件是正确的,则应根据此帮助页面确保电子邮件位于您帐户的Github设置中.缓存的最后一部分也值得注意.

如果发生Github瘫痪或不再存在的灾难性事件,则复制.

为什么我的提交链接到了错误的用户?

GitHub使用保存在提交标头中的电子邮件将提交链接到GitHub用户.如果您发现您的提交被指责给其他用户,或者根本没有链接到用户,则应检查您的设置.

很高兴知道: commit blame不授予对repo的访问权限.如果你看到对你不认识的用户的责任,请不要担心.用户无权访问您的仓库,除非您已将其明确添加为该仓库的协作者或有权访问仓库的团队.

让它们匹配

为了让GitHub正确地责怪您的提交,请确保您的git电子邮件设置正确并且与您帐户附带的电子邮件相匹配.

配置git

要检查您的git设置,请运行以下命令:

$ git config user.email
# you@there.com
Run Code Online (Sandbox Code Playgroud)

如果此电子邮件不正确,您可以更改全局设置:

$ git config --global user.email "me@here.com"
Run Code Online (Sandbox Code Playgroud)

很高兴知道:如果你在多台机器上工作,你需要在每台机器上检查这个设置.

将电子邮件附加到您的GitHub帐户

如果您的电子邮件未附加到您的GitHub帐户,则需要添加该电子邮件,以便将来的提交正确归咎于您.

  1. 转到您的帐户设置
  2. 点击"电子邮件"
  3. 点击"添加其他电子邮件地址"
  4. 输入电子邮件地址,然后点击"添加"

过去是历史

如果您使用了无效的电子邮件或已附加到其他帐户的电子邮件,则您之前的提交将不会被正确指责.虽然git允许您修改repo的历史并更正它,但强烈建议您不要更改已推送到远程仓库的提交.

如果您之前的提交使用了正确的电子邮件,则在您将电子邮件添加到帐户后,他们就会开始链接.但是,在此情况发生之前,旧数据可能需要一些时间才能从服务器的缓存中掉出来.

继续前进,如果您的设置匹配,则所有新提交都将归咎于您并链接到您的帐户.

  • 我偶然发现了这个答案,给人留下了深刻的印象......这是一个很好的解释,谢谢你,"过去就是历史"非常有帮助. (2认同)
  • 其他技巧是使用 ```git config --get-regexp 'user*'``` 查看当前用户设置,然后使用 ```git config --global user.name "My Name"```。 (2认同)

小智 9

我不得不更改存储库配置文件.从存储库路径运行:

> git config --local -e 
Run Code Online (Sandbox Code Playgroud)

并添加整个部分:

[user]
    name = Anna Kowalska
    email = anna.kowalska@wp.pl
Run Code Online (Sandbox Code Playgroud)

  • 不知道为什么我的提交变成“未知”,但这个方法修复了它。尝试在 Git Bash 中使用 user.name 和 user.email 进行设置并没有解决问题。谢谢 (2认同)