我已使用“使用 GitHub 登录”功能在 Gitea 实例上设置了一个帐户,并且该帐户已被授予对 Gitea 存储库的写入权限。当我尝试将本地更改推送到 Gitea(使用我共享的 GitHub 和 Gitea 用户名)时,系统会提示我输入密码。提供我的 GitHub 访问令牌或密码会导致“身份验证失败”消息。
- 作为“使用 GitHub 登录”用户,我可以从本地存储库推送到 Gitea 吗?如果是这样,怎么办?
我计划尝试的下一件事是使用用户设置›帐户控制面板为 Gitea 帐户设置密码。我不确定是否可以执行此操作,因为它要求我输入当前的 Gitea 密码,而我没有该密码,而且我担心尝试执行此操作可能会破坏我现有的 GitHub 登录能力。
- 作为“使用 GitHub 登录”的用户,我可以设置 Gitea 密码吗?如果是这样,怎么办?
我找不到“使用 GitHub 登录”功能的任何文档。搜索有关外部用户的文档并使用 OAuth 进行推送也一无所获。
- “使用 GitHub 登录”功能的文档在哪里?
看一下
gitea admin user list
和的输出gitea admin auth list
这里的文档中有如何将 github oauth 添加到 gitea 的示例: https: //docs.gitea.com/administration/command-line#admin,但我不确定默认设置是什么。
您还可以使用 手动设置用户密码
gitea admin user change-password --username myname --password asecurepassword
。如果没有其他情况,您似乎应该能够使用生成的访问令牌作为密码登录。例如,Gitea 不支持 2fa,因此这是后备方案: https: //docs.gitea.com/usage/multi-factor-authentication
回答原始问题的第一个要点:
确保您已使用 gitea 中的 SSH URL(而不是 HTTP URL)克隆存储库。您需要创建一个密钥对,并标有 gitea 实例为您记录的电子邮件地址,并使用 Web 界面将公钥添加到您的 gitea 帐户。(在与您的帐户/登录相关的右上角下拉菜单中,选择“设置”,然后在左侧选择“SSH/GPG 密钥”,然后使用“管理 SSH 密钥”功能下的“添加密钥”按钮。 )然后您应该能够推送到存储库,假设您具有对它的写访问权限。