git push失败,并显示以下消息:
remote: GitLab: Author '`SamLogan@logath-T460.mycompany.com`' is not a member of team
我的#git config user.name和#git config user.email设置为:
#git config user.name
Sam Logan
#git config user.email
SamLogan@mycompany.com
我的主机名是logath-T460.
我不确定为什么git push与Author一起使用我的本地主机名。任何线索如何解决这个问题?
答案 0 :(得分:2)
在将项目迁移到新的Gitlab网站时遇到了这个问题。对我有用的解决方案是在我的新项目中禁用选项“ 检查作者是否是GitLab用户”。
来自Gitlab docs:
GitLab已经提供了受保护的分支,但是在某些情况下,您需要一些特定的规则,例如防止删除Git标签或对提交消息强制采用特殊格式。
推送规则本质上是预先接收的Git hooks
推送规则“检查作者是否是GitLab用户”:
限制作者(电子邮件)对现有GitLab用户的提交。
如果这是您的初始提交(如我的情况),您可能只想取消激活GitLab用户检查一次,然后为以后的提交重新激活它。
该选项可从Gitlab Starter 7.10获得,并且可以在Web界面的 settings/repository
另请参阅:How to bypass: remote: GitLab: Author is not a member of team?
答案 1 :(得分:1)
使用您的用户名和主机名的不是git push
,而是git commit
。
默认情况下,如果您未设置user.name
和user.email
之前进行提交,则git将从您的计算机名和主机名获取它。它还会向您显示这样的警告:
Committer: user1234 <user1234@mac.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1.txt
当您执行git push
时,它将只使用设置为提交作者的内容并将其推送到远程存储库。
我认为发生的事情是,您已经先确认,然后设置了正确的user.name
和user.email
设置。因此,您要推送的那些提交已经将“ SamLogan@logath-T460.mycompany.com”保存为提交作者。
然后您需要做的是更新那些提交的作者。首先,请确保正确set the user.name
and user.email
config(回购中的--global
或--local
)。然后在这些提交上使用--reset-author
。
要修改仅最近提交的作者:
git commit --amend --reset-author --no-edit
要修改过去多次提交的作者:
(参考:How to amend several commits in Git to change author)
git rebase -i HEAD~N -x "git commit --amend --reset-author --no-edit"
其中N
是您需要更新的先前提交的数量。 rebase -i
将显示一个命令行编辑器以向您显示更改,而--reset-author
将使用您当前的user.*
设置。保存并退出以应用更改。
之后,git push
现在应该可以工作了。
答案 2 :(得分:0)
请检查您的gitlab推送规则。 去 - 项目>设置>存储库>推送规则
确保未选中以下设置:
检查作者是否为GitLab用户限制作者(电子邮件)向现有GitLab用户提交提交
这是这里的解释: https://gitlab.com/gitlab-com/support-forum/issues/1459