【问题标题】:Failed to deploy to Github Pages using octopress使用 octopress 部署到 Github 页面失败
【发布时间】:2014-02-16 20:04:49
【问题描述】:

我已经使用 Octopress 在 github 页面上设置了一个博客。我已经创建了我的第一篇文章,并且可以使用 rake preview 在本地主机上查看它。但是它无法部署到 github 页面。作为 git 的新手,我无法理解这个问题。

我按照documentation 运行rake deploy 来部署到github 页面。

我收到这条消息:

## Deploying branch to Github Pages 
## Pulling any updates from Github Pages 
cd _deploy
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:
    [branch "master"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.
cd -
rm -rf _deploy/blog
rm -rf _deploy/robots.txt
rm -rf _deploy/javascripts
rm -rf _deploy/stylesheets
rm -rf _deploy/sitemap.xml
rm -rf _deploy/favicon.png
rm -rf _deploy/atom.xml
rm -rf _deploy/index.html
rm -rf _deploy/images
rm -rf _deploy/assets

## Copying public to _deploy
cp -r public/. _deploy
cd _deploy

## Committing: Site updated at 2014-01-25 20:13:51 UTC
# On branch master
nothing to commit (working directory clean)

## Pushing generated _deploy website
To git@github.com:slmnm/slmnm.github.io.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:slmnm/slmnm.github.io.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

## Github Pages deploy complete
cd -

this question 之后,我已将我的branch.master.remote 设置为origin。 为了解决非快进的情况,我执行了git push origin master。之后,我可以将代码推送到 github,但不能使用 rake deploy 部署到 github 页面。

我将把我的 git 配置文件粘贴到这里,我不知道这是否会有所帮助。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "octopress"]
    url = git://github.com/imathis/octopress.git
    fetch = +refs/heads/*:refs/remotes/octopress/*
[branch "source"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = git@github.com:slmnm/slmnm.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

您可能已经猜到了,我一个人在做这件事,没有合作者(呃!博客)。这是我的repo。如果您需要任何其他详细信息,请告诉我。我是 git newb :) 谢谢

编辑:我还收到一封来自 github 的电子邮件,内容如下:

页面构建失败,出现以下错误:

source/blog/archives/index.html 中包含一个文件,该文件是 符号链接或在您的_includes 目录中不存在。

这种情况发生过一次,虽然我尝试过多次部署。

【问题讨论】:

    标签: git github octopress github-pages


    【解决方案1】:

    好的。我已经解决了这个问题。所以我自己来回答。

    我面临的问题是因为我试图从 octopress 目录解决问题,而我应该从 _deploy 目录解决问题。

    在运行 rake deploy 时,octopress 会执行 cd _deploy 并尝试将更新推送到 Github(在我的例子中)。在那段时间里,我收到了消息'You asked me to pull without telling me which branch you ...'

    之后,在 _deploy 目录中,我运行了

    git config branch.master.remote origin
    git config branch.master.merge refs/heads/master
    
    git pull
    

    这修复了两个错误(上述错误和非快进错误)。现在将其推送到远程,(或再次运行rake deploy)。

    这对我有用。如果您有更好的解决方案,我愿意更改正确答案。

    【讨论】:

    • 对我不起作用:/ 我的解决方案是首先非常小心地备份我的 git 存储库。其次,删除 github 上的 master 分支。然后我可以推送没有冲突的问题(因为它是一个新分支)。
    【解决方案2】:

    当我们有多个分支并且git 无法识别要部署的分支时,会出现此问题。

    在 Rakefile 中,您可以检查 deploy_branch 的值是什么

    deploy_branch = "master"  # For me its master
    

    然后,在第 250 行附近的某处,有一个名为 :push 的任务,它在 rake deploy 期间被调用

    在这个:push任务中

    cd "#{deploy_dir}" do 之后,git pull 完成

    Bundler.with_clean_env { system "git pull" }
    

    在这个命令中 git 无法识别要部署哪个分支,所以我们只需要将上面的行更改为

    Bundler.with_clean_env { system "git pull origin #{deploy_branch}" }
    

    【讨论】:

    • 这有帮助。在运行rake deploy 之前,我搞砸了并推到了我的“源”分支。在解决我的问题之前,我尝试了 10 种不同的方法。
    • 解决了我的问题! :D 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 2022-10-05
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多