Как выполнить запрос на извлечение GitHub

Как мне создать и/или отправить запрос на перенос в другой репозиторий, размещенный в GitHub?

Ответ 1

Чтобы узнать, как сделать запрос на вытягивание, я просто последовал за двумя отдельными страницами справки о Github (ссылки ниже в виде маркеров). Следующие команды командной строки для Часть 1. Часть 2, фактический запрос на извлечение, полностью выполняется на веб-сайте Github.

$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo 
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
  • Часть 1: fork кто-то репо: https://help.github.com/articles/fork-a-repo

    • нажмите кнопку "fork" на репо, в который вы хотите внести свой вклад: Dwolla PHP repo (Dwolla/dwolla-php )
    • получить URL-адрес вашей недавно созданной вилки, в этом случае: https://github.com/tim-peterson/dwolla-php.git (tim-peterson/dwolla-php)
    • введите последовательность git clone->cd dwolla-php->git remote->git fetch выше, чтобы клонировать вашу вилку где-то на вашем компьютере (то есть "скопировать/вставить" ее, в этом случае: third_party TimPeterson$) и синхронизировать ее с основным репо (Dwolla/dwolla-php )
    • внесите изменения в локальное репо
    • введите последовательность git add->git commit->git push выше, чтобы направить ваши изменения на дистанционное репо, т.е. вашу вилку на Github (tim-peterson/dwolla-php)
  • Часть 2: make pull-request: https://help.github.com/articles/using-pull-requests

    1. перейдите на страницу веб-страницы вашего вилка в Github (https://github.com/tim-peterson/dwolla-php)
    2. нажмите кнопку "pull-request"
    3. дать pull-request имя, заполнить информацию о внесенных вами изменениях, нажать кнопку "Отправить".
    4. все готово!

Ответ 2

(Помимо официального " Справка GitHub" Использование страниц запросов на тягу",
см. также "Викинг против ветвления в GitHub", "В чем разница между происхождением и восходящим потоком в GitHub" )

Несколько советов по поисковым запросам:

Предполагая, что у вас есть первый разветвленный репо, вот что вы должны сделать в той вилке, которой вы владеете:

  • создать ветку: изолировать свои изменения в ветке. Не создавайте запрос на растяжение из master, где вы можете соблазняться и сразу смешать несколько модификаций.
  • обновить эту ветку: даже если вы уже выполнили запрос на извлечение из этой ветки, перезагрузив ее поверх origin/master (убедитесь, что ваш патч все еще работает) будет автоматически обновлять запрос на pull ( нет необходимости нажимать на что-либо)
  • обновить эту ветку. Если ваш запрос на отклонение отклонен, вы можете просто добавить новые коммиты и/или полностью переписать свою историю: он снова активирует ваш существующий запрос на перенос.
  • "сосредоточиться" на этой ветке: т.е. сделать ее тему "жесткой", не изменять тысячи классов и всего приложения, добавлять или исправлять четко определенные функции, сохраняя небольшие изменения.
  • удалить эту ветку: после ее принятия вы можете безопасно удалить эту ветку на своей вилке (и git remote prune origin). Графический интерфейс GitHub предложит вам удалить свою ветку на странице запроса тяги.

Примечание: чтобы написать сам запрос Pull-Request, см. " Как написать запрос идеального pull" Январь 2015, GitHub)


Март 2016: Новая опция слияния с PR: см. "Github squash фиксируется из веб-интерфейса по запросу на запрос после просмотра комментариев.

squash

Сопровождающий репо может выбрать объединение - отмените эти PR-коммиты.


После запроса Pull

Относительно последнего момента, начиная с 10 апреля 2013 года, Изменена кнопка слияния", ветвь удалена для вас:

new merge button

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

Это подтверждает наилучшую практику удаления ветки после слияния запроса на перенос.


pull-request vs. request-pull

  • запрос на перенос не является официальным термином git.
    Git использует команду request-pull (!)
    для создания запроса на слияние:
    Он "суммирует изменения между двумя коммитами к стандартным выводам и включает данный URL в сгенерированную сводку".
    Github запускает собственную версию с первого дня (февраль 2008 г.), но переработал эту в мае 2010 года, заявив, что:

    Pull Request = Compare View + Issues + Commit comments
    

e-notes для "reposotory" (sic)

<humour>

То, что (pull request) даже не определено должным образом GitHub!

К счастью, настоящая организация деловых новостей будет знать, и есть e-note, чтобы заменить pull-replace на 'e-note':

https://pbs.twimg.com/media/BT_5S-TCcAA-EF2.jpg:large

Итак, если ваши репозитории o требуют ввода электронной заметки... спросить Fox Business. Они находятся в курсе.

</humour>

Ответ 3

Чтобы сделать запрос на вытягивание, вам необходимо выполнить следующие шаги:

  • Создайте репозиторий (для которого вы хотите сделать запрос на перенос). Просто нажмите кнопку fork на странице репозитория, и у вас будет отдельный репозиторий github, которому предшествует ваше имя пользователя github.
  • Клонировать хранилище на локальном компьютере. Программное обеспечение Github, установленное на вашем локальном компьютере, может сделать это за вас. Нажмите кнопку клонирования рядом с именем репозитория.
  • Сделать локальные изменения/зафиксировать файлы
  • синхронизировать изменения
  • перейдите в ваш разветвленный репозиторий github и нажмите зеленую кнопку "Сравнить и просмотреть", кроме кнопки ветки. (У кнопки есть значок - нет текста)
  • Откроется новая страница с вашими изменениями, а затем нажмите ссылку запроса на тягу, которая отправит запрос первоначальному владельцу репозитория, который вы разветкили.

Мне потребовалось некоторое время, чтобы понять это, надеюсь, что это поможет кому-то.

Ответ 4

Для тех из нас, у кого есть учетная запись github.com, но только получите неприятное сообщение об ошибке, когда мы вводим "git" в командной строке, вот как это сделать в вашем браузере:)

  • То же, что и Тим и Фархан: "Сделайте свою копию проекта: Шаг 1: Вилка
  • Через несколько секунд вы будете перенаправлены на свою собственную раздвоенную копию проекта: Шаг 2
  • Перейдите к файлам, которые вам нужно изменить, и нажмите "Изменить этот файл" на панели инструментов: Шаг 3: Редактировать файл
  • После редактирования напишите несколько слов, описывающих изменения, а затем "Зафиксировать изменения", а также мастер-ветку (поскольку это только ваша собственная копия, а не "основной" проект). Шаг 4: Зафиксировать изменения
  • Повторите шаги 3 и 4 для всех файлов, которые необходимо отредактировать, а затем вернитесь к корню вашей копии проекта. Там нажмите зеленую кнопку "Сравнить, обзор...": Шаг 5: Начать отправку
  • Наконец, нажмите "Создать запрос на растяжение" и затем "Создать запрос на растяжение" снова после того, как вы дважды проверили заголовок и описание запроса: введите описание изображения здесь

Ответ 5

Я начал проект, чтобы помочь людям сделать первый запрос на GitHub. Вы можете сделать практическое руководство для сделать свой первый PR здесь

Рабочий процесс прост как

  • Формирование репо в github
  • Получить код клонирования, нажав кнопку повтора клонов
  • Перейдите к терминалу и запустите git clone <clone url you copied earlier>
  • Создайте ветку для внесенных изменений git checkout -b branch-name
  • Внесите необходимые изменения
  • Зафиксируйте свои изменения git commit
  • Вставьте свои изменения в свою вилку на GitHub git push origin branch-name
  • Перейдите в свою вилку на GitHub, чтобы увидеть кнопку Compare and pull request
  • Нажмите на него и укажите необходимые данные.

Ответ 6

Я выполнил инструкции tim peterson, но я создал локальную ветвь для моих изменений. Однако после нажатия я не видел новую ветку в GitHub. Решение заключалось в том, чтобы добавить -u в команду push:

git push -u origin <branch>