Как изменить запрос GitHub pull?


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

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

4 121

4 ответа:

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

пример:

Если вы хотите, чтобы b слился в master

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

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

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

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

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

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

    git исправления ветвей вверх по течению / разработка

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

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

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

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

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

пример curl

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

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

пример: изменить имя мой pull-запрос

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