2011-06-14 17 views
20

Tengo un proyecto en Github que tiene un directorio que contiene cierta documentación HTML generada automáticamente. Me gustaría utilizar esa documentación dentro de las instalaciones de las páginas del proyecto de Github.¿Cómo crear páginas Github a partir de la documentación de un proyecto?

Por lo tanto, he leído las instrucciones sobre cómo create the project's gh-pages root branch. Esto efectivamente crea una rama vacía.

Lo que me gustaría es duplicar los archivos html en la ruta /docs desde la rama master, por lo que están en la raíz de la rama gh-pages. ¿Cuál es la mejor manera de abordar esto?

+2

Consulte [mi respuesta relacionada] (http://stackoverflow.com/a/29616287/946850) y una [writeup] (http://krlmlr.github.io/git-subbranch) para obtener una alternativa. – krlmlr

+0

Posible duplicado de [git branch: gh-pages] (http://stackoverflow.com/questions/4750520/git-branch-gh-pages) –

+0

Hola @Martijn Pieters, estoy de acuerdo con que borres mi publicación una vez que el la pregunta está cerrada como una estafa. Hasta ahora, este no. –

Respuesta

16

Respondiendo a mi pregunta aquí ... he logrado lo que quería con los submódulos de Git.

básicamente copié lo que es detailed in this sake task, pero en resumen:

  • trasladó la ruta docs en una carpeta temporal. Cometer cambios.
  • Creado gh-pages una rama limpie de acuerdo con la usual instructions
  • todo lo movido de la carpeta temporal a la nueva gh-pages rama. Cometer cambios.
  • De vuelta en la rama principal, agregue el control remoto gh-pages como un submódulo en la carpeta docs.
  • Confirmar cambios. Voila!
+6

¿Tiene que 'cd' en la carpeta 'docs' y confirmar/enviar todo por separado o hay alguna manera de hacerlo con un solo comando desde la raíz? –

+0

¿Tiene que sacar cada actualización a 'gh-pages' en su submódulo con este enfoque? ¿Funciona bien en la práctica? – krlmlr

0

cree enlaces simbólicos para esos archivos en ese punto. Deberías poder cometerlos también.

1

Mhm, terminé escribiendo estos dos objetivos Makefile para impulsar mis documentos. Solo hago update-doc y generalmente funciona.

TMP_PATH="/tmp/some_path" 

## the dir containing HTML docs to push to gh-pages 
HTML_DIR="html" 

## arbitrary dirs created by the doc build system that should be removed 
TRASH=latex 

update-doc: doc 
     rm -rf ${TMP_PATH} && cp ${HTML_DIR} ${TMP_PATH} -R && rm -rf ${HTML_DIR} 
     git fetch 
     git checkout gh-pages 
     cp ${TMP_PATH}/* . -R 
     rm -rf ${TRASH} 
     git add . 
     git commit -m "Update documentation" 
     git push -u origin gh-pages 
     rm -rf ${TMP_PATH} 
     git checkout master 

# command to build documentation; can be customised but 
# remember to also change the HTML_DIR and TRASH variables 
doc: 
     doxygen docs/doxygen.conf 

.PHONY: doc update-doc 

utilizo doxygen pero se podría cambiar esto a cualquier otro sistema de documentación.

Esto supone que la rama gh-pages existe en el control remoto y se creó como se explica en here.

Cuestiones relacionadas