2009-11-10 7 views
13

GitHub tiene esta característica que puede publicar "Páginas del Proyecto" si crea una rama nuevos GH-páginas en su proyecto. Para ver descripción completa http://pages.github.com/github cómo incluir archivos de maestría en nueva rama git GH-páginas

Mi proyecto es sólo html/imágenes, por lo que sólo quieren servir a la rama principal.

Entonces, ¿cómo puedo crear una nueva rama llamada gh-pages que sea solo una copia exacta del máster? algún tipo de operación de enlace?

Gracias

Respuesta

0

Crear un clon local de su repositorio, crear una nueva rama local llamado gh-pages, a continuación, empuje que la nueva sucursal local para su repositorio, en la rama gh-pages

git clone [email protected]:<username>/<project>.git 
cd <project> 
git checkout -b gh-pages 
git push origin gh-pages 
2

que en realidad es el valor por defecto comportamiento del comando git branch. Los más complicados symbolic-ref y clean comandos que se ven en la valoración crítica "páginas" son necesarios para evitar hacer exactamente esto.

Por lo tanto, en la raíz de su proyecto, en la rama principal:

git branch gh-pages 
git checkout gh-pages 

O simplemente:

git checkout -b gh-pages 
+0

así que si i actualizar los originales, GH-páginas reflejará las actualizaciones? y si agrego algunos archivos a gh-páginas, ¿todavía recibirá actualizaciones del maestro? – git

+1

No automáticamente, no; deberás usar 'git merge' para mover los cambios y los archivos de una rama a otra. Consulte http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html#_managing_branches para obtener una buena explicación de cómo se usan las ramas. –

+0

Bien, eso es lo que pensé, muchas gracias. – git

20

¿Quieres ser la rama 'GH-páginas' en su repositorio GitHub la lo mismo que la rama 'maestro'. La solución más simple sería configurar git para enviar la rama 'master' a 'gh-pages' automáticamente.

Asumiendo que su repositorio GitHub se presiona en remoto se configura como 'origen', que puede hacer somply:

$ git config --add remote.origin.push +refs/heads/master:refs/heads/gh-pages 

O si lo prefiere, puede simplemente editar .git/config archivo directamente.

Luego, cuando haga git push o git push origin, usted empujaría la rama 'master' en su repositorio a la rama 'gh-pages' en el repositorio en GitHub.

Ver git-push manpage para la documentación y descripción de formato refspec.

+0

Querías decir 'gh-pages' Supongo que no 'hg_pages' – coderintherye

+0

Me parece que esto funciona perfectamente para el comando 'git push', pero no he podido hacer que funcione con ninguna de las acciones de GitHub para Mac (Commit , Commit & Sync, Sync, o incluso 'Push' desde el menú Repository). ¿Hay una línea 'git config' comparable para el comando' git pull --rebase' que la aplicación GitHub hace (de acuerdo con http://mac.github.com/help.html). –

+0

@JamesChevalier: Debería funcionar para cualquier inserción, ya sea desde la línea de comandos o desde la GUI. Sin embargo, no afecta a * pull * en absoluto. –

Cuestiones relacionadas