web-dev-qa-db-fra.com

Comment extraire une page wiki sur GitHub?

J'ai vu une page wiki sur GitHub qui n'est pas ouverte pour modification. Ensuite, j'ai bifurqué le projet, l'ai édité sur "ma fin" et j'ai essayé de faire une pull request. Il s'avère que le wiki n'est pas dans le projet, et il n'y a aucun moyen de lui apporter des modifications.

Outre l'e-mailing, y a-t-il un moyen de procéder si je veux suggérer un changement sur le wiki dans ce cas?

À ce stade, j'ai découvert ce qui semble être une alternative sous "Questions avec des titres similaires", mais je ne pouvais pas encore faire la demande de tirage, et donc je ne suis pas sûr que les sous-modules soient un bon à cet effet. Je vois maintenant que je pourrais probablement le brancher d'une manière ou d'une autre ... Alors, est-ce la voie à suivre?

130
cregox

GitHub ne prend pas en charge les demandes d'extraction pour le référentiel wiki , uniquement le référentiel principal (c'est un peu dommage, IMO, mais je peux le comprendre).

Voici une façon intéressante dont un projet gère les mises à jour de la communauté sur leur wiki, tout en gardant un contrôle strict, comme pour le code source:

Mon workflow proposé est le suivant:

  1. Créez manuellement un fork du wiki Taffy sur votre compte Github:
    • Créez un nouveau référentiel sur votre compte github. Appelons-le "Taffy-Wiki".
    • Clonez le référentiel wiki Taffy sur votre machine locale quelque part: git clone [email protected]:atuttle/Taffy.wiki.git
    • Retirez la télécommande d'origine "Origin" et ajoutez votre dépôt github comme nouveau "Origin" git remote rm Origin et git remote add Origin [email protected]:<YOUR_USERNAME>/Taffy-Wiki.git
  2. Apportez les modifications proposées localement, puis transférez-les vers votre compte github: git Push -u Origin master ('-u Origin master' n'est requis que la première fois; ensuite, faites git Push)
  3. Soumettez un ticket au traqueur de problème officiel de Taffy en me demandant d'examiner vos modifications et de les fusionner. Assurez-vous d'inclure un lien vers votre dépôt et décrivez ce que vous avez changé.
  4. Goto # 2

(De Comment vous pouvez contribuer à la documentation Taffy.)

Si c'était moi, je créerais un problème dans le référentiel principal (c'est-à-dire celui que vous avez forké) suggérant une mise à jour du wiki. Si les problèmes ne sont pas activés, les e-mails concernent la seule autre option à laquelle je peux penser.

103
Calrion

J'ai adopté une approche différente à ce sujet, qui consiste à insérer exactement le même contenu dans le référentiel principal et le wiki. Ce ne sera pas du goût de tout le monde, mais Risk-First est principalement un wiki avec quelques pages Jekyll dans le référentiel principal.

Cela signifie que le processus pull request/fork fonctionne correctement. Cependant, après avoir fusionné une pull-request, je dois faire l'étape supplémentaire de tirer vers mon référentiel local, puis pousser à la fois vers le référentiel principal et le wiki, que git prend en charge correctement avec plusieurs URL d'origine:

localhost:website robmoffat$ git remote show Origin
* remote Origin
  Fetch URL: [email protected]:risk-first/website.git
  Push  URL: [email protected]:risk-first/website.wiki.git
  Push  URL: [email protected]:risk-first/website.git
  HEAD branch: master

Pour ce faire, j'ai fusionné les commits des deux référentiels après ceci:

Comment fusionnez-vous deux référentiels Git?

Et puis Poussez vers les deux dépôts comme ceci:

Git - Pousser le code vers deux télécommandes

J'espère que cela aide quelqu'un.

1
Rob Moffat

Si vous êtes d'accord pour avoir un document d'une seule page (je l'aime plus), vous pouvez détourner le README.MD et y mettre le contenu du wiki.

Non seulement il sera suivi dans le cadre du référentiel normal, mais il sera également affiché sur la page d'accueil.

Il peut être fait pour commencer par une référence rapide, puis pour entrer dans une description/des instructions plus détaillées, de sorte que les utilisateurs réguliers atteignent d'abord les informations les plus génériques.

0
Igor Stoppa

Vous ne pouvez pas faire de pull request, mais vous pouvez ouvrir un problème, coller un lien vers votre page wiki et les laisser fusionner dans votre page wiki avec leur page wiki.

En bref:

Ils ont juste besoin de cloner le dépôt de votre page wiki, (git clone YOUR_FORKED_REPO.wiki.git), écrasez toutes vos validations wiki en un seul gros commit, puis choisissez ce gros commit écrasé sur leur dépôt. Cela apportera toutes vos modifications wiki dans leur wiki.

Instructions complètes:

(COPIÉ DE Github Gistub de Larry Botha ICI: https://Gist.github.com/larrybotha/1065041 ):

---------- DÉBUT DE LA COPIE-PÂTE À PARTIR DU GISTUB CI-DESSUS ------------

Fusionner les modifications du wiki à partir d'un dépôt Github fourchu

Ceci est inspiré (ou fondamentalement copié) de Comment fusionner les modifications du wiki de Github d'un référentiel à un autre , par Roman Ivanov, et sert à garantir que si quelque chose devait arriver à l'article d'origine, les informations restent Nice et en sécurité ici.

Terminologie

[~ # ~] orepo [~ # ~] : repo original - le repo créé ou maintenu par le propriétaire

[~ # ~] frepo [~ # ~] : le dépôt fourchu qui a vraisemblablement des mises à jour de son wiki, pas encore sur le [~ # ~] orepo [~ # ~]

Contribuant

Si vous souhaitez contribuer au wiki d'un repo que vous avez créé, procédez comme suit:

  • bifurquer le dépôt
  • clonez uniquement le wiki sur votre machine: $ g clone [FREPO].wiki.git
  • apporter des modifications à votre repo wiki fourchu local
  • Envoyez vos modifications à GitHub

Une fois que vous êtes prêt à informer l'auteur de vos modifications, procédez comme suit:

  • ouvrir un problème sur [~ # ~] orepo [~ # ~]
  • fournir un lien direct vers le dépôt git de votre wiki pour faciliter la fusion: c'est-à-dire [ [~ # ~] frepo [~ # ~] ]. wiki.git

Fusionner les modifications

En tant que propriétaire de [~ # ~] orepo [~ # ~] , vous avez maintenant reçu un message indiquant qu'il y a des mises à jour de votre wiki sur la page de quelqu'un d'autre [~ # ~] frepo [~ # ~] .

Si les modifications apportées au wiki proviennent du dernier [~ # ~] orepo [~ # ~] wiki, vous pouvez procéder comme suit:

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git

# squashing all FREPO changes
$ git pull [FREPO].wiki.git master

$ git Push Origin master

Si [~ # ~] orepo [~ # ~] wiki est en avance sur ( [~ # ~] frepo [~ # ~] dérivé de, procédez comme suit:

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git
$ git fetch [FREPO] master:[FREPO-branch]
$ git checkout [FREPO-branch]

#checkout to last OREPO commit
$ git reset --hard [last-OREPO-commit-hash]

# do massive squash of all FREPO changes
$ git merge --squash HEAD@{1}
$ git commit -m "Wiki update from FREPO - [description]"
$ git checkout master

# cherry-pick newly squashed commit
$ git cherry-pick [OREPO-newly-squashed-commit]
$ git Push

---------- FIN DE LA COPIE-PÂTE DE L'ESSENTIEL CI-DESSUS GITHUB ------------

0
Gabriel Staples