2014-01-25 3 views
17

У меня есть настройка блога на страницах github с помощью Octopress. Я создал свой первый пост и могу просмотреть его на локальном хосте, используя rake preview. Однако он не может развертываться на страницах github. Будучи новичком в git, мне трудно понять проблему.Не удалось выполнить развертывание на страницах Github с использованием октопресса

Запуск rake deploy для развертывания на страницах github, следуя их documentation.

Я получаю сообщение:

## 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 [email protected]:slmnm/slmnm.github.io.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]: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, но не развертывать его на github-страницах, используя rake deploy.

Я собираюсь вставить свой файл конфигурации 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 = [email protected]:slmnm/slmnm.github.io.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

Как вы уже догадались, что я делаю это в одиночку, и нет соавторы (Дух! Блога). Это мой repo. Пожалуйста, дайте мне знать, если вам нужны какие-либо другие детали. Я мерзавец NEWB :) Спасибо

Редактировать: Я также получил письмо от GitHub говорил следующее:

The page build failed with the following error:

A file was included in source/blog/archives/index.html that is a symlink or does not exist in your _includes directory.

Это случилось однажды, хотя я пытался развернуть несколько раз.

ответ

27

Ok. Я исправил проблему. Поэтому я собираюсь ответить на это сам.

Проблема, с которой я столкнулся, заключается в том, что я пытался исправить проблему из каталога октапресса, когда я должен делать это из каталога _deploy.

При запуске rake deploy, октопресс делает 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).

Это сработало для меня. Если у вас есть лучшее решение, я открыт для изменения правильного ответа.

+1

не работает для меня:/ Мое решение было первым, очень осторожно резервное копирование моего git-репо. А затем второй, удалите главную ветвь на github. Тогда я не стану проблемой без конфликтов (так как это новая ветка). –

9

Эта проблема возникает, когда у нас есть более одной ветви, и git не может распознать, какую ветвь развертывать.

В Rakefile, вы можете проверить, что это значение deploy_branch

deploy_branch = "master" # For me its master 

Затем, где-нибудь вокруг линии 250, есть задача называется: толчок, который вызывается во время rake deploy

В этой :push задачи

после cd "#{deploy_dir}" do, мерзавец тянуть делается

Bundler.with_clean_env { system "git pull" } 

В этой команде мерзавца не в состоянии распознать, какая ветвь для развертывания, так что мы просто должны изменить эту строку в

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

yup, это очень помогает. спасибо –

+0

Это помогло. Я напортачил и нажал на свою ветку «source», прежде чем я запустил «rake deploy». Я попробовал 10 разных вещей, прежде чем это решило мою проблему. –

+0

Решил мою проблему! : D Большое спасибо. – Castiblanco

Смежные вопросы