Как изменить запрос на загрузку Github?


163

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

Как мне это сделать? Должен ли я оставить хеш коммита без изменений, как я могу это сделать?


Ответы:


178

просто добавьте больше коммитов в ветку, для которой предназначен запрос. Запрос на извлечение примет это тогда

Пример:

Если вы хотите, чтобы B слился с мастером

  1. Вы нажимаете c1, c2, c3 на b
  2. тогда вы делаете новый запрос на б
  3. он проверяется, и вам нужно больше коммитов
  4. Вы нажимаете C11, C21, C31 на б
  5. Запрос на вывод теперь показывает все 6 шести коммитов

6
Возможно ли добавить коммиты к этому запросу извлечения кем-либо другим, кроме автора этого запроса?
Skywinder

4
все, кто подталкивает к определенной ветви
Дай-Джан

@ Daij-Djan очень часто, если кто-то делает запрос на извлечение, он проталкивает свой собственный ответвление хранилища. Можно ли добавить коммиты в такой PR людьми, не имеющими коммитов на его форке?
Maciek

1
@skywinder Может быть, вы могли бы проверить этот вопрос: можно ли изменить код других людей в запросах на получение (Github)?
Maciek

@ MaciekŁoziński ответ также только в том случае, если «вы [можете] подтолкнуть к определенной ветви» :)
Daij-Djan

34

У меня был только один коммит в запросе на удаление, и я git commit --amendобновлял его. Затем я сделал принудительный толчок, git push -fпоэтому мой исправленный коммит заменил первоначальный. Запрос на получение автоматически подхватил новый коммит. (На самом деле он показывал оба коммита, но когда я перезагрузил страницу, старый коммит исчез.)

Таким образом, хотя принудительный пуш обычно не рекомендуется, он может быть полезен для пул-запросов. Это не рекомендуется, потому что если кто-то создает коммит поверх вашего, ему придется делать ребаз после вашего изменения. Но поскольку никто не должен основывать свою работу на проверочном запросе, который находится на рассмотрении, в этой ситуации он должен быть довольно безопасным.


8

Если вы продолжаете вносить изменения и продолжаете нажимать на одну и ту же ветку, уточненные коммиты будут добавлены к тому же запросу на извлечение (если только ваш запрос на извлечение не был объединен). Это может сделать историю очень загроможденной.

Альтернативное решение и метод, который я использую, заключается в следующем:

  1. Создайте новую ветвь (исправления) из репозитория (восходящая версия) и ветки (разработка), в которую вы собираетесь отправить запрос на получение, выполнив:

    ветка git исправляет

  2. Добавьте свои уточненные коммиты прямо в эту недавно созданную ветку.

    git commit -m "ваше сообщение"

  3. Переместите эту ветку на свой собственный раздвоенный пульт (может называться origin).

  4. Сравните и отправьте новый запрос на удаление с чистой историей коммитов.
  5. Кроме того, это хорошая идея, чтобы удалить вашу ветку после объединения запроса на добавление.
  6. И вы можете комментировать и закрывать свои предыдущие запросы.

1

Вы также можете использовать GitHub API .

пример с завитком

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

Вы можете найти подробный список данных в github developer doc.

пример: изменить имя моего запроса

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9

Я пытался изменить ветку, но я думаю, head/labelи head/refне редактируются.
hexaJer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.