Error al desplegar en Github Pages usando Octopress
github-pages (2)
De acuerdo. He arreglado el problema. Así que voy a responder a esto yo mismo.
El problema al que me enfrentaba es porque intentaba solucionar el problema desde el directorio octopress, cuando debería hacerlo desde el directorio _deploy.
Al ejecutar el rake deploy
, Octopress realiza cd _deploy
e intenta enviar actualizaciones a Github (en mi caso). Durante ese tiempo, recibí el mensaje " You asked me to pull without telling me which branch you ...
"
Después de esto, en el directorio _deploy, ejecuté
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
git pull
Esto solucionó ambos errores (uno descrito anteriormente, y el error de avance no rápido). Ahora empuje esto a remoto, (o ejecute de nuevo el rake deploy
)
Esto funcionó para mí. Si tiene una solución mejor, estoy abierto a cambiar la respuesta correcta.
He configurado una configuración de un blog en las páginas de github usando Octopress. He creado mi primera publicación y puedo verla en localhost utilizando la rake preview
. Sin embargo, no se puede implementar en las páginas github. Siendo nuevo en git, estoy teniendo problemas para entender el problema.
Ejecuto el rake deploy
para desplegar en las páginas de github, siguiendo su documentation .
Recibo este mensaje:
## 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 -
Siguiendo esta pregunta , he establecido mi branch.master.remote
en origin
. Para resolver la situación de no avance rápido, realicé git push origin master
. Después de esto, pude empujar el código a github, pero no implementarlo en las páginas de github usando el rake deploy
.
Voy a pegar mi archivo de configuración de git aquí, no sé si esto va a ayudar.
[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
Como habrás adivinado, estoy haciendo esto solo y no hay colaboradores (duh! Blog). Este es mi repo . Por favor, hágamelo saber si necesita otros detalles. Soy un git newb :) gracias
Edit: También recibí un correo electrónico de github que decía lo siguiente:
La compilación de la página falló con el siguiente error:
Se incluyó un archivo en
source/blog/archives/index.html
que es un enlace simbólico o no existe en su directorio_includes
.
Esto sucedió una vez, aunque he intentado desplegar varias veces.
Este problema ocurre cuando tenemos más de 1 sucursal y git
no puede reconocer qué sucursal implementar.
En Rakefile, puedes verificar cuál es el valor de deploy_branch
deploy_branch = "master" # For me its master
Luego, en algún lugar alrededor de la línea 250, hay una tarea llamada: push que se llama durante el rake deploy
En esto :push
tarea
después de cd "#{deploy_dir}" do
, git pull está hecho
Bundler.with_clean_env { system "git pull" }
En este comando, git no puede reconocer qué rama implementar, por lo que solo necesitamos cambiar la línea anterior como
Bundler.with_clean_env { system "git pull origin #{deploy_branch}" }