从 CodeBuild 提交并推送到 GitHub 需要哪些步骤?

What steps are needed to commit and push to GitHub from CodeBuild?

我正在尝试让 yarn 在 CodeBuild 中发布一个 NPM 包,然后将更新后的 package.json 推送回 GitHub Enterprise。除推送部分外,一切正常。这不是凭据问题,因为 CodeBuild 能够从 GitHub 服务器获取所有内容(SSH 已经设置)。

一旦它有推送标签,它就是:

  1. 为 git 配置设置 user.nameuser.email
  2. 找到标签被推送到的分支:git branch —-contains tags/<tag> | sed -n 2p | awk ‘{printf }’
  3. 检查那个分支:git checkout <branch>
  4. 通过 yarn publish —-no-git-tag-version —-new-version <version from tag> 发布,这也会更改并提交 package.json 更改。
  5. 终于运行了 git push origin <branch>

步骤 1-4 似乎工作得很好,但是步骤 5 只是输出“一切都是最新的”,即使 yarn publish 更改并提交了 package.json

还需要从 CodeBuild 对 commit/push 做些什么?我也尝试将 git fetch —-unshallow 放在所有内容之前,以防它需要更多信息,但这并没有改变任何东西。好像在 CodeBuild 中签出一个分支并没有跟踪远程分支?

在第 4 步之后,您似乎还没有向当前分支提交任何内容。 检查 git status 未跟踪和修改的文件,您可以使用 git add <files> 添加这些文件或使用 git add ..

添加所有文件

完成后,您可以再次使用 git status 检查文件是否已正确添加,然后使用 git commit 提交文件,您应该能够成功推送。