Git 推送到 gh-pages(更新被拒绝)

sam*_*108 6 git deployment github-pages

我有一个项目正在 Github 的 gh-pages 分支中,来自一个名为 dist 的文件夹。我弄清楚了如何从这个文件夹进行部署,一切都很顺利,直到我尝试推送另一个版本。

\n\n

首先,我提交并推送到 origin master。\n其次,我添加并提交 dist 文件夹

\n\n
git add dist && git commit -m "Pasta dist adicionada ao projeto"\n
Run Code Online (Sandbox Code Playgroud)\n\n

最后我尝试推送到 gh-pages

\n\n
git subtree push --prefix dist origin gh-pages\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是所有日志过程:

\n\n
samuel@debian:~/Documentos/01 - WEB/Cipher/web$ git add dist && git commit -m \n\n"Formul\xc3\xa1rio para contato na p\xc3\xa1gina Contato.html"\n[master 022dcf6] Formul\xc3\xa1rio para contato na p\xc3\xa1gina Contato.html\n 2 files changed, 2 insertions(+), 2 deletions(-)\n\nsamuel@debian:~/Documentos/01 - WEB/Cipher/web$ git status\nOn branch master\nYour branch is ahead of \'origin/master\' by 1 commit.\n  (use "git push" to publish your local commits)\nnothing to commit, working tree clean\n\nsamuel@debian:~/Documentos/01 - WEB/Cipher/web$ git push\nEnter passphrase for key \'/home/samuel/.ssh/cipher-deploy\': \nCounting objects: 5, done.\nDelta compression using up to 2 threads.\nCompressing objects: 100% (5/5), done.\nWriting objects: 100% (5/5), 452 bytes | 0 bytes/s, done.\nTotal 5 (delta 4), reused 0 (delta 0)\nremote: Resolving deltas: 100% (4/4), completed with 4 local objects.\nTo github.com:samu101108/cipher-transcritor.git\n   c2944ca..022dcf6  master -> master\n\nsamuel@debian:~/Documentos/01 - WEB/Cipher/web$ git add dist && git commit -m "Formul\xc3\xa1rio para contato na p\xc3\xa1gina Contato.html"\nOn branch master\nYour branch is up-to-date with \'origin/master\'.\nnothing to commit, working tree clean\n\nsamuel@debian:~/Documentos/01 - WEB/Cipher/web$ git subtree push --prefix dist origin gh-pages\ngit push using:  origin gh-pages\nEnter passphrase for key \'/home/samuel/.ssh/cipher-deploy\': \nTo github.com:samu101108/cipher-transcritor.git\n ! [rejected]        4d627ffb7d871a68353d427d66a00fd917fe6639 -> gh-pages (non-fast-forward)\nerror: failed to push some refs to \'git@github.com:samu101108/cipher-transcritor.git\'\nhint: Updates were rejected because a pushed branch tip is behind its remote\nhint: counterpart. Check out this branch and integrate the remote changes\nhint: (e.g. \'git pull ...\') before pushing again.\nhint: See the \'Note about fast-forwards\' in \'git push --help\' for details.\n
Run Code Online (Sandbox Code Playgroud)\n\n

那么……怎么了?

\n

sam*_*108 6

我有一个解决方案!由于 gh-pages 分支是这样一个可以删除的东西,所以我就这样做了。之后,我再次推送到子树,因此重新创建 gh-pages 分支并使用更新的版本进行部署。遵循我完成它所需的命令。

$ git push origin --delete gh-pages
$ git subtree push --prefix dist origin gh-pages
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这可行,但是这样做意味着每次删除并重新添加 gh-pages 分支时,我都必须手动设置哪个分支为 Github.com 上的 Github Pages 站点提供服务。反复删除并重新添加 gh-pages 分支,以便“子树推送”工作似乎是不可持续的。 (3认同)
  • 这个问题还有其他解决方案吗? (2认同)