gh-pages --权限被拒绝

问题描述 投票:0回答:3

我尝试在 github 页面上更新我的 React 应用程序,但是我无法运行命令“npm run deploy”。我克隆了我的存储库,做了一些更改,然后将它们推送到我的主分支。一切都很好。然后,当尝试在 GH 页面中使用“运行部署”时,它会给我一个“[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取。”。但是,我的 .ssh 密钥工作正常(我能够将更改推送到我的主分支,没有任何问题)。 我在这里缺少什么才能让它发挥作用?

我尝试使用我的 .ssh 密钥对 github 进行身份验证,没有出现任何问题。我也没有问题将更改推送到我的主分支。

reactjs git github github-pages
3个回答
0
投票

此问题的一些可能原因:

  • 您尝试部署的存储库不是公共存储库,而是私有存储库,您没有必要的权限将更改推送到
    gh-pages
    分支。
  • gh-pages
    分支不存在,如果存储库没有任何 GitHub Pages 分支,则在将 GitHub Pages 构建推送到该分支之前,GitHub 不会创建分支。
  • gh-pages
    分支存在问题,例如被删除或有未提交的更改。这可能会导致推送到分支时出现问题。
  • 您的 Git 配置设置不正确。确保您的 Git 全局配置设置(例如电子邮件和用户名)设置正确。
  • SSH 密钥可能有问题。与您的 GitHub 帐户关联的 SSH 密钥可能已被删除或更改,这将使您无法推送到存储库。
  • 您的互联网连接可能有问题或防火墙阻止您的连接。
  • 您可能已为 GitHub 帐户启用 2FA,在这种情况下,您需要生成个人访问令牌才能推送到您的存储库。

您可以尝试以下步骤来解决此问题:

  • 再次尝试克隆存储库,并确保您能够访问它。
  • 确保您能够推送到存储库上的其他分支
  • 检查
    gh-pages
    分支是否存在
  • 确保您的 Git 配置设置正确。
  • 检查您的 SSH 密钥是否仍与您的 GitHub 帐户关联。
  • 检查您的互联网连接
  • 检查您的防火墙设置

0
投票

经过一番折腾,我找到了解决问题的方法。

  1. 删除我的本地存储库
  2. 使用 GitHub Desktop 克隆它
  3. 然后我就可以毫无问题地运行“npm run deploy”了

我不知道为什么它会起作用。我假设从 CLI 克隆时存在一些问题,但我不确定它们到底是什么。


0
投票

我也有同样的问题。我有一个解决方案。它涉及手动解决方法,而不是使用

npm deploy

  1. 在命令行中生成 React 应用程序的生产版本:

    npm run build

  2. 初始化一个新的 git 存储库,添加并提交:

    git init

    git add .

    git commit -m "An informative message"

  3. 创建一个新分支进行部署。这是一个很好的做法。保持主干干净:

    git checkout -b <your-deployment-branch>

  4. cd 到步骤 1 中创建的“build”目录:

    cd build

  5. 现在您已位于构建目录中,初始化另一个新的 git 存储库:

    git init

  6. 使用 ssh-url 添加远程 GitHub 存储库:

    git remote add origin [email protected]:your-git-user-name/your-repo-name.git

  7. 添加并提交您所做的更改:

    git add .

    git commit -m "An informative message"

  8. 将您所做的更改推送到您在步骤 3 中所做的分支:

    git push origin <your-deployment-branch>

  9. 快到了!我们已经完成了命令行。现在是时候访问您的 GitHub 存储库设置了。

  10. 导航至网页左侧菜单“代码和自动化”下的“页面”。

  11. 向下滚动到“分支”。单击左侧可能显示“main”的下拉菜单。选择您在步骤 3 中创建的部署分支。

  12. 点击“保存”。

尤里卡!您的 React 应用程序现已部署在 GitHub 页面上。它需要一分钟才能在部署下注册。

这是否解决了

[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
的根本问题?不,不是的。我将在 Stack Overflow 上发布有关如何解决该问题的问题。我将提及我为尝试解决该问题而采取的步骤。我还将参考我在这里发布的解决方案。

我希望这可以帮助人们尝试部署他们的 React 应用程序!

© www.soinside.com 2019 - 2024. All rights reserved.