Витягнути запит без розгортання?


105

Ось етапи внесення коду з теми " Як я можу внести інший код у GitHub? "

  1. Розкладіть проект
  2. Зробіть одну чи кілька добре прокоментованих та чистих комісій у сховище. Тут ви можете створити нову гілку, якщо ви змінюєте більше однієї частини або функції.
  3. Виконайте запит на виклик у веб-інтерфейсі github.

Чи можна зробити запит на тягнення, не підписуючи репо?

Дуже сумно бачити на моєму рахунку більше 20 репостів, які були роздвоєні для деяких запитів на тягнення. Тоді вони не мають активності та нульових зірок / послідовників. Схоже, я просто копіюю чийсь код на чорний день.


Чому б ви хотіли?

3
Гарне питання. Незрозуміло також оновлювати ці 20 репостів з оригіналом (або видалити їх).
Corey Alix,

Відповіді:


95

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


8
Чи можете ви пояснити, як ви можете створити запит на витяг, якщо у вас є доступ до гілок цього сховища?
bolinfest

13
У GitHub є хороший посібник з цього питання: help.github.com/articles/creating-a-pull-request
Райан

2
Просто нагадування про щось, що може бути не таким зрозумілим для всіх. Потрібно створити вилку для кожного сховища, до якого ви вносите свій внесок ... але створення гілок у вашій вилці дозволяє вам працювати одразу більше ніж один PR для репо-версії за потоком. Вам не потрібно 20 вил з того ж репо, щоб зробити 20 PR.
JulioHM

24

Як тільки ваші запити на виклик будуть прийняті, ви можете сміливо видалити репо .

Після цього просто клонуйте прямо з початкового репо-верхового потоку.

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


2
FYI, нещодавно github додав кнопку до об'єднаних запитів на витяг, щоб полегшити (та інтуїтивно зрозуміло) видалити гілку запиту на потяг: github.com/blog/1335-tidying-up-after-pull-requests
David M

10

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

  1. Якщо ж є доступ для фіксації, створити гілку і зробити запит тягнути проти нової філії.
  2. Опублікуйте свій патч в тілі проблеми. Це насправді не спосіб GitHub, але він, безумовно, працює.
  3. Розкладіть сховище, створіть запит на витягнення, а потім видаліть вилку, як тільки запит на витягування об’єднаний або відхилений.

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


Мабуть, найкраще тут: 4. Підтримуйте другий обліковий запис Github просто для вирішення цих сценаріїв "запит і забудь" Не має значення, якщо в цьому обліковому записі є 20 неактивних репостів, оскільки це не основний рахунок.
таній

7

github підтримує модель спільного сховища

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

Запити на витяг особливо корисні в моделі Fork & Pull, оскільки вони надають спосіб повідомляти керівників проектів про зміни у вашій вилці. Однак вони також корисні в моделі спільного репозиторію, де вони використовуються для ініціювання огляду коду та загальної дискусії про набір змін перед об'єднанням у гілку основної лінії.


5
Зверніть увагу, як це не пояснює, як створити запит на тягу в цій моделі.
bolinfest

0

Вам все одно знадобиться цей одноклапник: hub fork;git push -u $GIT_USER HEAD;hub pull-request

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