我使用“使用 GitHub 登录”功能在 Gitea 实例上设置了一个帐户,并且该帐户已被授予对 Gitea 存储库的写入权限。当我尝试将本地更改推送到 Gitea(使用我的共享 GitHub 和 Gitea 用户名)时,系统提示我输入密码。输入我的 GitHub 访问令牌或密码会导致出现“身份验证失败”消息。
- 作为“使用 GitHub 登录”用户,我可以从本地存储库推送到 Gitea 吗?如果可以,该怎么做?
我计划尝试的下一步是使用以下方法为 Gitea 帐户设置密码:用户设置›帐户控制面板。我不确定我是否可以这样做,因为它要求我输入当前的 Gitea 密码,而我没有这个密码——而且我担心尝试这样做可能会破坏我现有的使用 GitHub 登录的能力。
- 作为“使用 GitHub 登录”用户,我可以设置 Gitea 密码吗?如果可以,如何设置?
我找不到任何关于“使用 GitHub 登录”功能的文档。搜索有关外部用户和使用 OAuth 推送的文档也没有找到任何结果。
- “使用 GitHub 登录”功能的文档在哪里?
答案1
回答原始问题的第一个要点:
确保您已使用 gitea 的 SSH URL 克隆了存储库,而不是 HTTP URL。您需要创建一个密钥对,标有 gitea 实例为您记录的电子邮件地址,然后使用 Web 界面将公钥添加到您的 gitea 帐户。(在与您的帐户/登录有关的右上角下拉菜单中,选择“设置”,然后在左侧选择“SSH/GPG 密钥”,然后使用“管理 SSH 密钥”功能下的“添加密钥”按钮。)然后您应该能够推送到存储库,假设您有写入权限。
答案2
看一下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