git branch: GH-pagine
-
13-10-2019 - |
Domanda
Ho un pronti contro termine su GitHub. Recentemente ho scoperto le pagine di GitHub e voglio usarli.
Vorrei creare questo nuovo ramo e poi, quando ho bisogno di, o commettere sul ramo master
o sul ramo gh-pages
.
Come posso fare questo? Devo creare un'altra cartella dentro il mio repo?
Soluzione
Si potrebbe trovare utile questo tutorial:
Per me questo approccio sembra più semplice poi fare un git checkout gh-pages
ogni volta che si desidera modificare il contenuto di GH-pagine. Fatemi sapere cosa ne pensate ^ _ ^
Modifica Ho aggiornato il link esercitazione - grazie @Cawas. Il vecchio tuotial (non raccomandato) era https://gist.github.com/825950
Altri suggerimenti
Più recenti versioni di git avere un'alternativa al metodo git symbolic-ref
che Chandru spiegato. Questo evita di dover utilizzare i comandi di livello inferiore.
git checkout --orphan gh-pages
git rm -rf .
Sul vostro clone locale di fare,
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
Poi, git checkout gh-pages
e scrivere le vostre pagine. git push origin gh-pages
Quando sei pronto a pubblicare le pagine.
Non c'è ancora un'altra soluzione al vostro problema: Dimenticate gh-pages
e la ramificazione; Mettete i vostri file statici che dovrebbero essere serviti all'interno di directory /docs
e poi andare alle impostazioni di progetto e dire GitHub per servire contenuti /docs
.
Per ulteriori informazioni date un'occhiata a questo
Pubblica un sito statico in questo modo:
git subtree push --prefix www origin gh-pages
Dove www
è la directory root doc in cui i vostri file statici sono.
Il tuo sito statico è ora vivo al:
https://[user_name].github.io/[repo_name]/
Creazione di pagine del progetto manualmente
L'aggiunta di una nuova serie di pagine per un progetto manuale è un semplice processo se siete abituati ad usare git-riga di comando.
https://help.github.com/articles/creating-project- pagine-manualmente
sono i tuoi GH-pagine e branch master che ha esattamente la stessa struttura di cartelle? Se questo è il caso perché si anche voler avere due rami? solo mantenere un ramo gh-pagine! ma se per qualsiasi motivo si desidera avere entrambi i rami che sono costantemente sincronizzati allora la cosa migliore è quella di utilizzare git rebase
. Vedi qui:
http: //lea.verou. me / 2011/10 / facile-keep-GH-pagine-in-sync-with-master /
È possibile anche ciliegia scegliere solo i file necessari da maestro e spingerli sul gh-pagine utilizzando uno speciale caso d'uso di git checkout
. Vedi qui:
http://oli.jp/2011/github-pages-workflow/ # GH-pagine-flusso di lavoro
http://nicolasgallagher.com/git-checkout-specific-files- da-un-ramo /
Dopo aver dovuto affrontare lo stesso problema sono venuto a scoprire che gh-pagine di solito finiscono per avere una base di codice diverso da padrone. In altre parole, GH-pagine dovrebbero includere solo il contenuto della dist / build / pubblicare cartella del progetto, mentre maestro includerà i file di configurazione, script unminified e gli stili, ecc
Il mio suggerimento sarebbe quello di creare GH-pagine come un ramo --orphan
e includere solo il materiale pronti per la pubblicazione in esso. Si dovrebbe clonare dal tuo padrone in una directory locale diversa, l'uso git checkout --orphan gh-pages
per creare gh-pagine e quindi eliminare tutti i file non necessari utilizzando git rm -rf .
. Da lì si può andare avanti e spingere per GH-pagine dopo aver aggiunto i file publish-solo.
Fare riferimento alla documentazione Github per maggiori informazioni:
https://help.github.com/articles/creating-project-pages- manualmente /
In bocca al lupo
Il modo tipico è quello di rami interruttore:. git checkout master
se si desidera lavorare su master e git checkout gh-pages
se si desidera lavorare su gh-pages
A partire da git 2.5, è possibile avere entrambi i rami controllato allo stesso tempo (in directory diverse). Vedere https://github.com/ blog / 2042-git-2-5-compresi-più-worktrees-e-triangolari-workflow . Configurazione via git worktree add -b gh-pages ../gh-pages origin/gh-pages
.
Bonus: Se il contenuto di una sottodirectory della vostra cassa master
è il contenuto del gh-pages
, utilizzare lo script fornito al https://github.com/X1011/git-directory-deploy .