gpt4 book ai didi

git - 无法提交和推回 github 操作所做的更改(无效用户)

转载 作者:太空狗 更新时间:2023-10-29 14:09:41 25 4
gpt4 key购买 nike

在我的操作工作流程结束时,我有以下步骤。它在代码被推送到 master 时运行,其想法是在该操作完成后将 github 操作更改的所有文件提交回 master。

    - name: Commit and push changes
run: |
git config --global user.name 'myGithubUserName'
git config --global user.email 'myEmail@gmail.com'
git add -A
git commit -m "Increased build number [skip ci]"
git push -u origin HEAD

但是,即使我正在配置用户和电子邮件,我仍然会收到以下错误。

fatal: could not read Username for 'https://github.com': Device not configured

[error]Process completed with exit code 128.

请注意,它在 macOS-latest 上运行并使用预先打包的 git。

最佳答案

actions/checkout@v2

checkout 的第 2 版解决了分离的 HEAD 状态问题并简化了对源的推送。

name: Push commit
on: push
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create report file
run: date +%s > report.txt
- name: Commit report
run: |
git config --global user.name 'Your Name'
git config --global user.email 'your-username@users.noreply.github.com'
git commit -am "Automated report"
git push

如果您需要推送事件来触发其他工作流,请使用范围为 Personal Access Tokenrepo .

      - uses: actions/checkout@v2
with:
token: ${{ secrets.PAT }}

actions/checkout@v1(原始答案)

问题在于 actions/checkout@v1 操作使 git 存储库处于分离的 HEAD 状态。有关更多详细信息,请参阅此问题:https://github.com/actions/checkout/issues/6

我成功使用的解决方法是按如下方式设置 Remote :

git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/username/repository

您可能还需要 checkout 。您可以从 GITHUB_REF 中提取分支名称:

git checkout "${GITHUB_REF:11}"

这里有一个完整的例子来演示。

name: Push commit example
on: push
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Create report file
run: date +%s > report.txt
- name: Commit report
run: |
git config --global user.name 'Your Name'
git config --global user.email 'your-username@users.noreply.github.com'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
git checkout "${GITHUB_REF:11}"
git commit -am "Automated report"
git push

顺便说一句,我写了一个GitHub action,可以帮助你实现你想做的事情。它将在工作流期间在本地进行任何更改,将它们提交到新分支并提出 pull 请求。 https://github.com/peter-evans/create-pull-request

另请参阅此相关问答。 Push to origin from GitHub action

关于git - 无法提交和推回 github 操作所做的更改(无效用户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58257140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com