我应该如何解决我的拉取请求中的 Google 贡献者许可协议问题?

How should I troubleshoot my Google Contributor Licence Agreement Issue on my pull request?

我已经向 this project, which is owned by google. So, google asks for Contributor Licence Agreement. which I have signed here 发出了 Pull Request。我创建了 CLA。

首先,我认为我的 github 帐户中有两个电子邮件地址。因此,我还为两个电子邮件 ID 创建了 CLA。

为了提交代码,我使用了简单的方法: git 添加 . git 提交 -m 'Message' git push -u origin branch_name

Pull Request

google-bot 仍然无法验证我的 CLA。它给我如下错误:

错误信息: 我们为您(此拉取请求的发送者)找到了一份贡献者许可协议,但无法找到所有提交作者或共同作者的协议。如果您编写了这些,也许您在 git 提交中使用的电子邮件地址与用于签署 CLA 的电子邮件地址不同(在此处登录以仔细检查)?如果这些是由其他人创作的,那么他们也需要签署 CLA,并确认他们同意将这些贡献给 Google。 为了通过此检查,请解决此问题并让拉取请求作者添加另一条评论,机器人将再次 运行。如果机器人不发表评论,则表示它认为没有任何变化。

我已经为与我的 Github 帐户关联的两个电子邮件 ID 创建了 CLA。

我启用了双重身份验证。

我一再承诺检查。 我在 PR 上发表了评论,以检查 google-bot 是否解决了问题。

git add .
git commit -m 'Message'
git push -u origin branch_name

如果有人过去遇到过此问题并成功解决,请描述完整的解决方案。

您已使用 3 个不同的电子邮件地址进行提交,每个地址一个:

  • @iiitk.ac.in
  • @gmail.com
  • @delhivery.com

您可以通过执行 git log -n3

从您的分支中看到这一点

通常,这与在提交和 de CLA 上有一组不同的用户信息有关。使用 git log 查看存储库的提交日志(按 q 退出)。

您还可以查看您的用户设置:

实际回购配置

git config user.name
git config user.email

全局配置

git config --global user.email
git config --global user.email

关于如何修复此错误的一些建议

  • 修复你的配置问题,创建一个新的分支并做一个新的拉取请求。您可以使用以下方式编辑单个提交的作者:
git commit --author="max kellerman<max@kellerman.org>"

  1. 如果可能,将所有有问题的电子邮件添加到 google 组 CLA,以便他们可以成为授权贡献者。

  2. 您可以尝试编辑以前提交的作者信息:

更改最后一次提交的作者详细信息:

git commit --amend --author="max kellerman<max@kellerman.org>"

要更改同一分支上的多个提交,您可以使用interactive rebase or branch filtering