2011-12-04 11 views
5

Ho un sito web statico che utilizza Jekyll ospitato su GitHub. Il problema è che non ho davvero bisogno del ramo master, poiché l'unica cosa che il repository contiene è il sito web.Come posso fare in modo che le pagine di GitHub utilizzino il ramo principale?

In questo modo devo git checkout gh-pages, quindi git merge master e quindi fare git push origin gh-pages.

C'è un modo semplice, in cui è possibile eliminare il ramo gh-pages e passare direttamente da master?

+0

Qualsiasi motivo per cui non lavori solo sul ramo 'gh-pages'? –

risposta

14

Il problema è che non ho davvero bisogno del ramo master, poiché l'unica cosa che il repository contiene è il sito Web. .

C'è un modo semplice, in cui è possibile eliminare il ramo gh-pages e passare direttamente dal master?

Con parole tue, non hai bisogno di padrone. Cancellalo. Lavora in gh-pages.

+0

wow non sapevo che puoi solo cancellare master ... fantastico! –

0

Io uso Jekyll me stesso e mi fa sempre cambiamento sul ramo principale e spingerlo a origine ...

Nessuno ti costringe a creare rami ... Se il livello di cambiamenti che si stanno facendo non ha bisogno più rami quindi apporta le modifiche sul ramo principale e fai l'origine di git push.

Il modo in cui si espone il problema sembra un po 'come il ramo master è un ramo git speciale che non è vero. Alla fine della giornata le pagine master o gh differiscono solo per il commit a cui puntano e le regole refspec ad esse associate, ma sono fondamentali per la stessa semantica.

Elimina il ramo gh-pages facendo: git branch -d gh-pages. Se gh-pages non è ancora unito, quindi fondersi in master prima di eliminare gh-pages. Quindi vai avanti e usa solo il ramo principale.

+2

Quello che ti manca è che GitHub usa il ramo 'gh-pages' per generare/servire siti web statici per repository git ospitati su GitHub. –

+0

Quindi utilizzare il ramo gh-pages solo come hai suggerito è la strada da percorrere ... –

0

Supponiamo di voler mantenere entrambi i rami (in modo da avere anche la documentazione).

Si può solo eseguire uno script dopo aver spinto al master che fa:

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 

Qualcosa di simile a questo aggiungerebbe l'intero sito come una sottodirectory GH-pagine, che vi permetterà di avere sia la documentazione, e un up -esempio di esecuzione in corso del tuo sito nella stessa posizione e con poco sforzo.

Problemi correlati