github actions,push报错

fatal: could not read Password for 'https://*@github.com': No such file or directory

在用github actions,push代码的时候push不上去

img

name: CI
on:
  push:
    branches: [ master ]
jobs:
  build:
    name: Build
    runs-on: windows-latest
    steps:
    - name: Checkout Code
      uses: actions/checkout@v2
    - name: Install Node.js, NPM and Yarn
      uses: actions/setup-node@v1
      with:
          node-version: 12.18.3
    - name: Install Dependencies
      run: |
            npm i
    - name: Electron Build
      run: |
            npm install hexo-cli -g
            hexo g
    - name: Push Build
      run: |
            git config --global user.name "${{secrets.U_NAME}}"
            git config --global user.email "${{secrets.U_EMAIL}}"
            git clone "https://${{secrets.GH_TOKEN}}@${{secrets.GH_REF}}"
            Copy-Item "public\*" "yolkpie.github.io\" -Recurse -Force
            cd ./yolkpie.github.io
            git add .
            git commit -m 'travis-ci auto build yolk-blog'
            git push origin "${{secrets.P_BRANCH}}"
            echo Hello, world123!

这个错误通常表示Git尝试从本地计算机读取存储在文件中的密码,但是找不到该文件,可能会导致push操作失败。您可以尝试以下几个解决方案:
1.确保您已经正确设置了您的用户名和密码。您可以通过运行以下命令检查:

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

如果未设置,请运行以下命令设置用户名和电子邮件地址:

git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"

2.检查您是否拥有访问仓库的权限。如果您是一个团队的一部分,请确保您的访问权限已正确配置。

3.您可以尝试更改远程仓库的协议,例如从HTTPS更改为SSH。这将要求您使用SSH密钥来进行身份验证。有关如何更改协议的说明,请参见以下链接:https://docs.github.com/en/github/using-git/changing-a-remotes-url

4.最后,您可以尝试清除存储在您本地计算机上的凭据缓存。您可以使用以下命令来清除凭据缓存:

git config --global --unset credential.helper

然后您可以再次尝试push您的更改。

这个错误通常发生在使用 Git 命令时,Git 无法读取你的 GitHub 账户的凭据(Credentials)时。可以尝试以下步骤解决问题:

检查 secrets.GH_TOKEN 是否正确设置。在 GitHub 项目页面的 Settings > Secrets 里创建一个名为 GH_TOKEN 的 Secret,将 Personal Access Token 复制到该 Secret 中。

检查 Git 的全局配置是否正确设置了用户名和邮箱。你可以在 GitHub Actions 里加上 git config --list 命令检查全局 Git 配置是否正确。

如果你的 Personal Access Token 账户使用了双因素认证,尝试在 secrets.GH_TOKEN 中添加密码。

如果以上步骤都不能解决问题,尝试将 git 的 url 地址改成 SSH 地址,方法是将 .git 文件夹删除,然后使用命令行重新添加远程仓库地址,方法如下:

git remote remove origin
git remote add origin git@github.com:<user>/<repo>.git

这样,Git 将使用 SSH 协议推送代码,而不是使用 HTTP 协议。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

这是一个技术问题,我可以回答。这个错误提示是因为在使用 GitHub Actions 推送代码时,没有正确配置 GitHub 的凭据。需要在 GitHub 仓库的 Settings 中的 Secrets 中添加 GH_TOKEN 和 GH_REF 两个密钥,分别对应 GitHub 的 Personal Access Token 和仓库地址。同时,在推送代码时需要使用 git clone 命令将代码仓库克隆到本地,然后再进行代码的推送。