2011-12-04 7 views
5

Tengo un sitio web estático usando Jekyll alojado en GitHub. El problema es que realmente no necesito la rama principal, ya que lo único que contiene el repositorio es el sitio web.¿Cómo puedo hacer que las páginas de GitHub usen la rama principal?

De esta manera tengo que git checkout gh-pages, luego git merge master, y luego hacer git push origin gh-pages.

¿Hay alguna manera simple, donde podría deshacerme de la rama gh-pages y presionar directamente desde master?

+0

¿Alguna razón por la que no solo trabaja en la rama 'gh-pages'? –

Respuesta

14

El problema es que realmente no necesito la rama principal, ya que la única cosa que contiene el repositorio es el sitio web.

¿Hay alguna manera simple, donde podría deshacerme de la rama gh-pages y pulsar directamente desde el máster?

En sus propias palabras, no necesita maestro. Bórralo. Trabaja en gh-páginas.

+0

wow No sabía que podía eliminar el maestro ... ¡genial! –

0

utilizo Jekyll mí y siempre me hace que el cambio en la rama principal y lo empuja al origen ...

Nadie te obliga a crear ramas ... Si el nivel de cambios que está haciendo no necesita múltiples ramas entonces simplemente haga los cambios en la rama principal y haga el origen de git push.

La forma en que está planteando su problema suena como si la rama principal fuera una rama especial de git que no es cierta. Al final del día, las páginas maestras o gh se diferencian solo en la confirmación a la que apuntan y las reglas de refspec asociadas pero tienen la misma semántica.

Eliminar tu gh-pages branch haciendo: git branch -d gh-pages. Si gh-pages aún no está fusionado, entonces conéctese al maestro antes de eliminar gh-páginas. Luego solo sigue y usa solo la rama principal.

+2

Lo que te falta es que GitHub usa la rama 'gh-pages' para generar/servir sitios web estáticos para repositorios git alojados en GitHub. –

+0

Luego, usando gh-páginas bifurcar solo como lo sugirió es el camino a seguir ... –

0

Supongamos que desea conservar ambas ramas (para que también tenga documentación).

Se podía ejecutar un script después de empujar al maestro que hace:

git checkout gh-pages 
wget https://github.com/{yourgitlogin}/{your-project}-master/archive/master.zip 
git rm {your-project}-master 
unzip master.zip && rm master.zip 
git add -u 
git add . 
git commit -m "update master" 
git push 
git checkout master 

Algo como esto añadiría todo su sitio como un subdirectorio bajo GH-páginas, lo que le permite tener tanto la documentación, y un up hasta la fecha ejecutando un ejemplo de su sitio en la misma ubicación y con poco esfuerzo.

Cuestiones relacionadas