Как мне создать и/или отправить запрос на перенос в другой репозиторий, размещенный в 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
- перейдите на страницу веб-страницы вашего вилка в Github (https://github.com/tim-peterson/dwolla-php)
- нажмите кнопку "pull-request"
- дать pull-request имя, заполнить информацию о внесенных вами изменениях, нажать кнопку "Отправить".
- все готово!
Ответ 2
(Помимо официального " Справка GitHub" Использование страниц запросов на тягу",
см. также "Викинг против ветвления в GitHub", "В чем разница между происхождением и восходящим потоком в GitHub" )
Несколько советов по поисковым запросам:
Предполагая, что у вас есть первый разветвленный репо, вот что вы должны сделать в той вилке, которой вы владеете:
- создать ветку: изолировать свои изменения в ветке. Не создавайте запрос на растяжение из
master
, где вы можете соблазняться и сразу смешать несколько модификаций. - обновить эту ветку: даже если вы уже выполнили запрос на извлечение из этой ветки, перезагрузив ее поверх
origin/master
(убедитесь, что ваш патч все еще работает) будет автоматически обновлять запрос на pull ( нет необходимости нажимать на что-либо) - обновить эту ветку. Если ваш запрос на отклонение отклонен, вы можете просто добавить новые коммиты и/или полностью переписать свою историю: он снова активирует ваш существующий запрос на перенос.
- "сосредоточиться" на этой ветке: т.е. сделать ее тему "жесткой", не изменять тысячи классов и всего приложения, добавлять или исправлять четко определенные функции, сохраняя небольшие изменения.
- удалить эту ветку: после ее принятия вы можете безопасно удалить эту ветку на своей вилке (и
git remote prune origin
). Графический интерфейс GitHub предложит вам удалить свою ветку на странице запроса тяги.
Примечание: чтобы написать сам запрос Pull-Request, см. " Как написать запрос идеального pull" Январь 2015, GitHub)
Март 2016: Новая опция слияния с PR: см. "Github squash фиксируется из веб-интерфейса по запросу на запрос после просмотра комментариев.
Сопровождающий репо может выбрать объединение - отмените эти PR-коммиты.
После запроса Pull
Относительно последнего момента, начиная с 10 апреля 2013 года, Изменена кнопка слияния", ветвь удалена для вас:
Удаление ветвей после слияния также упрощено. Вместо подтверждения удаления с помощью дополнительного шага мы сразу удаляем ветвь, когда вы ее удаляете, и предоставляете удобную ссылку для восстановления ветки в случае необходимости снова.
Это подтверждает наилучшую практику удаления ветки после слияния запроса на перенос.
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':
Итак, если ваши репозитории o требуют ввода электронной заметки... спросить Fox Business. Они находятся в курсе.
</humour>
Ответ 3
Чтобы сделать запрос на вытягивание, вам необходимо выполнить следующие шаги:
- Создайте репозиторий (для которого вы хотите сделать запрос на перенос). Просто нажмите кнопку fork на странице репозитория, и у вас будет отдельный репозиторий github, которому предшествует ваше имя пользователя github.
- Клонировать хранилище на локальном компьютере. Программное обеспечение Github, установленное на вашем локальном компьютере, может сделать это за вас. Нажмите кнопку клонирования рядом с именем репозитория.
- Сделать локальные изменения/зафиксировать файлы
- синхронизировать изменения
- перейдите в ваш разветвленный репозиторий github и нажмите зеленую кнопку "Сравнить и просмотреть", кроме кнопки ветки. (У кнопки есть значок - нет текста)
- Откроется новая страница с вашими изменениями, а затем нажмите ссылку запроса на тягу, которая отправит запрос первоначальному владельцу репозитория, который вы разветкили.
Мне потребовалось некоторое время, чтобы понять это, надеюсь, что это поможет кому-то.
Ответ 4
Для тех из нас, у кого есть учетная запись github.com, но только получите неприятное сообщение об ошибке, когда мы вводим "git" в командной строке, вот как это сделать в вашем браузере:)
- То же, что и Тим и Фархан: "Сделайте свою копию проекта:
- Через несколько секунд вы будете перенаправлены на свою собственную раздвоенную копию проекта:
- Перейдите к файлам, которые вам нужно изменить, и нажмите "Изменить этот файл" на панели инструментов:
- После редактирования напишите несколько слов, описывающих изменения, а затем "Зафиксировать изменения", а также мастер-ветку (поскольку это только ваша собственная копия, а не "основной" проект).
- Повторите шаги 3 и 4 для всех файлов, которые необходимо отредактировать, а затем вернитесь к корню вашей копии проекта. Там нажмите зеленую кнопку "Сравнить, обзор...":
- Наконец, нажмите "Создать запрос на растяжение" и затем "Создать запрос на растяжение" снова после того, как вы дважды проверили заголовок и описание запроса:
Ответ 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>