【问题标题】:How to create a commit without using personal acccess token?如何在不使用个人访问令牌的情况下创建提交?
【发布时间】:2022-01-11 13:53:15
【问题描述】:

我正在使用 github 操作发布带有提交更新版本的标签,而不使用 PAT(个人访问令牌),如下所示

    - name: Create a tag with new version
        uses: actions/github-script@v3
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            github.git.createRef({
              owner: owner,
              repo: repo,
              ref: "refs/tags/${{ env.NEW_VERSION }}",
              sha: sha
            })

我可以使用此代码正常创建标签而无需任何提交。 但我想提交一些更改并推送此标签。 当我将提交命令添加到工作流时:

git commit -a -m "Update new version ${NEW_VERSION }"

将抛出错误“作者身份未知”。我知道发生此问题是因为我没有在工作流程中添加姓名和电子邮件或使用 PAT。 我想在创建标签之前提交并仅使用 github_token 推送它。任何人都可以帮我解决这个问题吗? 谢谢。

【问题讨论】:

  • 你有没有试过在提交前运行git config user.email my@email.com
  • @rethab 我可以按照你的建议通过添加用户名和电子邮件来提交,但我不想使用它,因为它可能会被违反
  • 违反是什么意思?
  • 这意味着在我这边,有一个要求我不应该在源代码中使用用户名和电子邮件。
  • 您可以使用 dummy@company.com 作为电子邮件地址。你在那里设置什么并不重要,你只需要 something

标签: github-actions


【解决方案1】:

你可以这样做:

- name: Tag Release
  run: |
    git tag -d v${{ steps.git_version.outputs.version }} 2> /dev/null || echo 'local ref does not exist'
    git push origin :v${{ steps.git_version.outputs.version }} 2> /dev/null || echo 'remote ref does not exist'
    git tag v${{ steps.git_version.outputs.version }}
    git push origin v${{ steps.git_version.outputs.version }}

【讨论】:

    猜你喜欢
    • 2016-06-15
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多