我正在使用GitHub Actions在我的let insertUpdateValues: (string | number | moment.Moment | null | undefined)[]
Type '(string | number | Moment | null | undefined)[]' is not assignable to type 'Test[]'.
Type 'string | number | Moment | null | undefined' is not assignable to type 'Test'.
Type 'undefined' is not assignable to type 'Test'.ts(2322)
分支中编译一些代码,然后希望它将所有文件推送到另一个分支master
,以便GitHub Pages可以生成一个站点。我似乎无法获得将gh-pages
的内容移至master
的操作。
gh-pages
当我将提交推送到name: Build & Jekyll
on:
push:
branches:
- master
jobs:
build:
# needs: nothing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Git stuff
run: |
git config user.email "email@email.com"
git config user.name "Name"
git add .
git commit -m "message"
git push origin master:gh-pages
(触发操作)时,在Actions控制台中出现此错误:
master
我不明白为什么,因为如果在Terminal中使用相同的HEAD detached at 19e90c4
nothing to commit, working tree clean
##[error]Process completed with exit code 1.
命令,我不会得到任何错误。
我在“ Git stuff” git
下的“动作”运行命令中添加了一行,但出现了以下错误:
echo 'Hello, world.' >test.txt
解决方案(来自rmunn的答案):
[detached HEAD 5edf030] message
1 file changed, 1 insertion(+)
create mode 100644 test.txt
error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/iwiedenm/ultimate-jekyll'
别忘了name: Build & Jekyll
on:
push:
branches:
- master
jobs:
build:
# needs: nothing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Git stuff
run: |
git config user.email "your@email.com"
git config user.name "Jonsnow"
git add .
git commit -m "message"
git remote set-url origin https://USERNAME:${{secrets.ACCESS_TOKEN}}@github.com/USERNAME/REPO.git
git remote -v
git checkout -b gh-pages
git push origin HEAD:gh-pages --force
是您的GitHub用户名,USERNAME
是您的仓库中设置的GitHub访问令牌秘密,对仓库有写权限,而ACCESS_TOKEN
是存储库名称。如果需要,您还可以重命名REPO
。
答案 0 :(得分:1)
免责声明:我还没有进入GitHub action beta,所以尽管我认为这个答案是正确的,但我无法对其进行测试。
当前leaves the repo in a detached HEAD state是GitHub checkout
动作,因此没有master
分支可以推送。您应该可以推HEAD:gh-pages
而不是master:gh-pages
。
当然,您问题中的工作流示例不会更改工作目录,因此git add .
没有要添加到索引的内容,因此git commit
不会创建空的提交,然后没什么可推。但是,一旦进行了一些更改(要么是因为您的编译步骤正在运行,要么是因为您已经执行了echo 'Hello, world.' >> test.txt
的步骤-请注意双箭头,以便将其追加到文件中,否则进行此测试)自第二次提交相同的内容以来,它只能工作一次,而Git会跳过提交),那么您应该发现按HEAD
可以满足您的要求。