J'ai un repo sur GitHub. Récemment, j'ai découvert les pages de GitHub et je souhaite les utiliser.
J'aimerais créer cette nouvelle branche, puis, lorsque j'en ai besoin, commettre sur une branche master
ou sur une branche gh-pages
.
Comment puis-je faire ceci? Dois-je créer un autre dossier dans mon dépôt?
Vous pourriez trouver ce tutoriel utile:
Pour moi, cette approche semble plus simple que de faire un git checkout gh-pages
à chaque fois que vous souhaitez modifier le contenu de votre gh-pages. Faites-moi savoir ce que vous pensez ^ _ ^
Edit: J'ai mis à jour le lien du tutoriel - merci @Cawas. L'ancien tuotial (non recommandé) était https://Gist.github.com/825950
Les versions les plus récentes de git proposent une alternative à la méthode git symbolic-ref
décrite par Chandru. Cela évite d'avoir à utiliser les commandes de niveau inférieur.
git checkout --Orphan gh-pages
git rm -rf .
Sur votre clone local,
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
Ensuite, git checkout gh-pages
et écrivez vos pages. git Push Origin gh-pages
lorsque vous êtes prêt à publier les pages.
Publiez un site statique comme ceci:
git subtree Push --prefix www Origin gh-pages
Où www
est le répertoire racine du doc dans lequel se trouvent vos fichiers statiques . Votre site statique est maintenant actif à l'adresse suivante: https://[user_name].github.io/[repo_name]/
Création manuelle de pages de projet
L'ajout manuel d'un nouvel ensemble de pages pour un projet est simple processus si vous êtes habitué à utiliser git en ligne de commande.
https://help.github.com/articles/creating-project-pages-manually
Il existe une autre solution à votre problème: oubliez gh-pages
et les branches; Placez vos fichiers statiques censés être servis dans le répertoire /docs
, puis accédez aux paramètres de votre projet et demandez à github de servir le contenu /docs
.
Pour plus d'informations, jetez un coup d'œil à this
Le moyen typique est de changer de branche: git checkout master
si vous voulez travailler sur le maître et git checkout gh-pages
si vous voulez travailler sur gh-pages
.
À partir de git 2.5, vous pouvez extraire les deux branches en même temps (dans des répertoires différents). Voir https://github.com/blog/2042-git-2-5-including-multiple-worktrees-and-triangular- workflows . Configuration via git worktree add -b gh-pages ../gh-pages Origin/gh-pages
.
Bonus: Si le contenu d'un sous-répertoire de votre master
caisse correspond au contenu de gh-pages
, utilisez le script fourni à l'adresse https://github.com/X1011/git-directory-deploy .
Est-ce que vos gh-pages et votre branche maîtresse ont EXACTEMENT la même structure de dossiers? Si tel est le cas, pourquoi voulez-vous même avoir deux branches? maintenez juste une branche de gh-pages! mais si, pour une raison quelconque, vous souhaitez que les deux branches soient constamment synchronisées, le mieux est d’utiliser git rebase
. Vois ici:
http://lea.verou.me/2011/10/easily-keep-gh-pages-in-sync-with-master/
Vous pouvez également sélectionner uniquement les fichiers dont vous avez besoin dans master et les placer sur gh-pages en utilisant un cas d'utilisation spécial de git checkout
. Vois ici:
http://oli.jp/2011/github-pages-workflow/#gh-pages-workflow
http://nicolasgallagher.com/git-checkout-specific-files-from-another-branch/
Ayant eu à faire face au même problème, je me suis rendu compte que gh-pages finirait généralement par avoir une base de code différente de celle du maître. En d'autres termes, gh-pages ne devrait inclure que le contenu du dossier dist/build/publish de votre projet, tandis que maître inclura vos fichiers de configuration, vos scripts et styles non terminés, etc.
Ma suggestion serait de créer gh-pages en tant que branche --Orphan
et d'y inclure uniquement le matériel prêt à être publié. Vous devez cloner votre maître dans un répertoire local différent, utiliser git checkout --Orphan gh-pages
pour créer gh-pages, puis supprimer tous les fichiers inutiles à l'aide de git rm -rf .
. À partir de là, vous pouvez continuer et appuyer sur gh-pages après avoir ajouté vos fichiers de publication seulement . Reportez-vous à la documentation Github pour plus d'informations:
https://help.github.com/articles/creating-project-pages-manually/
Bonne chance