Як витягнути запит на вікі-сторінку на GitHub?


160

Я побачив сторінку Вікі на GitHub, яка не відкрита для редагування. Тоді я розіграв проект, відредагував його на "мій кінець" і спробував зробити запит на тягнення. Виявляється, вікі немає в проекті, і немає способу внесення змін до нього.

Окрім електронної розсилки, чи є спосіб продовжити, якщо я хочу запропонувати змінити вікі в цьому випадку?

На цьому етапі я дізнався, що виглядає як альтернатива під "Запитаннями з подібними заголовками", але я ще не міг виконати запит на витягування, тому я не впевнений, що підмодулі - це хороший спосіб для цієї мети. Тепер я бачу, що, можливо, я міг би якось це розгалужити ... Так це шлях?



Я знаю, що я запізнююсь на вечірці на цьому, але думаю, .wikiщо найкращим підходом до цієї ситуації є використання git repo як підмодулю головного репо проекту.
ipatch

Обхід, щоб увімкнути запити на виклик у
2016/

Відповіді:


120

GitHub не підтримує запити на тягнення до сховища wiki , лише основне сховище (це шкода, IMO, але я можу це зрозуміти).

Ось цікавий спосіб, як один із проектів керує оновленнями спільноти своєї вікі, зберігаючи при цьому чіткий контроль щодо вихідного коду:

Мій запропонований робочий процес такий:

  1. Створіть розсилку вікі Taffy вручну у своєму акаунті Github:
    • Створіть нове сховище у своєму акаунті github. Назвемо це "Таффі-Вікі".
    • Клоніруйте кудись вікі-репо від Taffy на локальній машині: git clone git@github.com:atuttle/Taffy.wiki.git
    • Видаліть оригінальний пульт дистанційного "походження" та додайте своє github repo як нове "походження" git remote rm originтаgit remote add origin git@github.com:<YOUR_USERNAME>/Taffy-Wiki.git
  2. Внесіть запропоновані зміни на місцевому рівні, а потім натисніть їх на свій акаунт github: git push -u origin master("-u master origin" потрібен лише перший раз; після цього просто зробити git push)
  3. Надішліть квиток на офіційному трекері випуску Taffy з проханням переглядати ваші зміни та об'єднати їх. Будь ласка, обов'язково додайте посилання на репо-репортаж та опишіть, що ви змінили.
  4. Гото №2

розділу Як ви можете зробити внесок у документацію Taffy .)

Якби це я, я створив би проблему в головному сховищі (тобто тому, з яким ви роз'яснили), пропонуючи оновити вікі. Якщо проблеми не ввімкнено, то повідомлення електронної пошти про єдиний інший варіант, про який я можу придумати.


@ Chi-YoungJeffreyLii Ці команди не мої, а походять із публікації блогу, яку я цитував (я пов’язав джерело нижче цитати). Це команди Git командного рядка, які повинні працювати на будь-якій платформі з Git, включаючи Windows, і включаючи ОС UNIX або GNU / Linux з оболонкою Bash.
Кальріон

Nitpick: Послідовність віддаленого видалення / додавання походження, можливо, є суперечкою (без потреби), плюс "fork" технічно не походження, тому назва вводить в оману. Я пропоную лише додати в локальний клон другий пульт для нового персонального сховища GitHub (наприклад, з назвою "персональний") і натиснути на нього нормально. Таким чином, ви також можете вийти з реального сховища реального походження, щоб синхронізуватися з роботою інших.
TNE

5

Я застосував інший підхід до цього, який полягає в тому, щоб підштовхнути абсолютно однаковий вміст як до основного репо, так і до вікі. Це не на смак кожному, але Risk-First - це головним чином вікі з кількома сторінками Джекілла в основному репо.

Це означає, що процес запиту / вилки тягнеться нормально. Однак після злиття запиту на потяг я повинен зробити додатковий крок до мого локального репо, а потім підключити до основного репо і вікі.

localhost:website robmoffat$ git remote show origin
* remote origin
  Fetch URL: git@github.com:risk-first/website.git
  Push  URL: git@github.com:risk-first/website.wiki.git
  Push  URL: git@github.com:risk-first/website.git
  HEAD branch: master

Щоб досягти цього, я об'єднав комітети з обох репостів, наступних за цим:

Як ви об'єднаєте два сховища Git?

А потім натисніть на обидва репости так:

Git - натискання коду на два пульти

Сподіваюся, що це комусь допоможе.


FYI, я стою за такого підходу - він вийшов досить добре. Однак я з цілком інших причин мігрував цілу партію до Джекілла, тому це вже не спрацьовує ризик
Роб Моффат

5

Наразі найкраще рішення проблеми ми знайшли на https://devonfw.com :

  1. Помістіть свою документацію в сховище git разом з кодом всередині папки документації.
  2. Розширіть конструкцію travis-ci деякою магією, яка поетапно змінює всі зміни з цієї папки документації з перетвореннями, застосованими до wiki git. Дивіться останній приклад посилання нижче.
  3. Розгляньте вікі як перегляд документації лише для читання. Зауважте, що за допомогою github.com ви можете переглядати та безпосередньо редагувати файли в папці документації. Таким чином, ви все одно можете зафіксувати помилки в браузері протягом декількох секунд (навіть як PR без дозволу на репо) - тільки не через вікі.
  4. Коли дописувач роздвоюється, він також має документацію з кодом. Він може змінити як один PR, так і все переглядати в одному і тому ж процесі, тому після злиття Code та Doc залишається синхронізованим. Все ж у вас є приємніший UX для читання документації у вікі із бічною панеллю тощо.

Оскільки ми є 100% ОСВ, ми любимо ділитися своїми зусиллями, щоб досягти цього чудового рішення. Ось посилання на прикладі:


2

Ви не можете зробити запит на виклик, але ви можете відкрити проблему, вставити посилання на свою сторінку вікі та дозволити їм об’єднатись у вашій сторінці вікі на їхню сторінку вікі.

Коротко:

Їм просто потрібно клонувати ваш рекі-вікі-сторінку, ( git clone YOUR_FORKED_REPO.wiki.git), розкладати всі ваші вікі-файли в одну велику комісію, а потім вибирати цю виграшну комісію на репо. Це внесе всі ваші зміни у вікі до їхніх вікі.

Повні інструкції:

(КОПІРОВАНО З Github суть Ларрі Бота ТУТ: https://gist.github.com/larrybotha/10650410 ):

---------- ПОЧАТОК КОПІЇ-ПАСТИ З ІЗ ГОЛОВОГО ГІСТУСТУ ------------

Об'єднайте зміни в Wiki з роздвоєним Github Repo

Це натхнене (або в основному скопійоване) з " Як об’єднати зміни Github Wiki з одного сховища в інше " Романа Іванова і служить для того, щоб у випадку, якщо з початковою статтею щось трапиться, інформація тут залишається приємною та безпечною.

Термінологія

OREPO : оригінальний репо - репо, створений або підтримується власником

FREPO : роздвоєний репо, який, імовірно, має оновлення своєї вікі, ще не на OREPO

Сприяючи

Якщо ви хочете внести свій внесок у вікі-репо, яке ви розщедрили, зробіть наступне:

  • виделкою репо
  • клонуйте до своєї машини лише вікі: $ g clone [FREPO].wiki.git
  • внесіть зміни в місцевий роздвоєний вікі-репо
  • натисніть свої зміни на GitHub

Після того, як ви будете готові повідомити автору, що у вас є зміни, зробіть наступне:

  • відкрити випуск на OREPO
  • надайте пряме посилання на git repo вашого wiki для зручності злиття: тобто [ FREPO ] .wiki.git

Об'єднання змін

Як власник OREPO , ви отримали повідомлення про те, що у вашому вікі є оновлення на чужому FREPO .

Якщо зміни у вікі розроблено з останніх вікі OREPO , ви можете зробити наступне:

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

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

$ git push origin master

Якщо вікі OREPO випереджають те, звідки FREPO відщеплений , зробіть наступне:

$ 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

---------- КІНЦЕ КОПІЇ-ПАСТИ З ІЗ ГОЛОВОГО ГІСТУСТУ ------------


0

Якщо ви добре мати документ на одній сторінці (мені насправді це більше подобається), ви можете викрасти README.MDта викласти вміст вікі туди.

Він не тільки буде відслідковуватися як частина звичайного сховища, але й відображатиметься на домашній сторінці.

Можна почати з швидкого посилання, а потім перейти до більш детального опису / інструкцій, щоб постійні користувачі спочатку потрапляли на більш загальну інформацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.