Как изменить запрос GitHub pull?
Я открыл запрос в проект. Хранитель решил принять его, но сказал мне, чтобы изменить содержание.
Как я могу это сделать? Должен ли я сохранить хэш фиксации без изменений, как я могу это сделать?
4 ответа:
просто нажмите больше коммитов на ветку, для которой требуется запрос. Запрос на вытягивание заберет это тогда
пример:
Если вы хотите, чтобы b слился в master
- вы нажимаете c1,c2, c3 в b
- затем вы делаете новый запрос для b
- он получает обзор, и вам нужно больше коммитов
- вы нажимаете c11, c21, c31 в b
- запрос на вытягивание теперь показывает все 6 шесть коммитов
у меня просто был один коммит в запросе pull, и я использовал
git commit --amend
обновить его. Я тогда сделал силовой толчок сgit push -f
таким образом, моя исправленная фиксация заменила оригинальную. Запрос на вытягивание автоматически принял новую фиксацию. (На самом деле он показал оба коммита, но когда я перезагрузил страницу, старый коммит исчез.)поэтому, хотя принудительный толчок обычно не рекомендуется, он может быть полезен для запросов на вытягивание. Это не рекомендуется, потому что если кто-то основывает фиксации поверх вашей тогда им придется сделать ребаз после вашего изменения. Но поскольку никто не должен основывать свою работу на недооцененном запросе на вытягивание, он должен быть довольно безопасным в этой ситуации.
Если вы продолжаете вносить изменения и продолжаете нажимать на ту же ветвь, уточненные коммиты будут добавлены к тому же запросу pull (если ваш запрос pull не был объединен). Это может сделать историю очень захламленной.
альтернативное решение и метод, который я использую следующим образом:
создайте новую ветвь(исправления) из репозитория (вверх по течению) и ветвь (разработка), в которую вы собираетесь отправить запрос на вытягивание, выполнив:
git исправления ветвей вверх по течению / разработка
добавьте свои уточненные коммиты непосредственно в эту вновь созданную ветку.
git commit-m "ваше сообщение"
Нажмите эту ветвь на свой собственный раздвоенный пульт дистанционного управления (может быть назван origin).
- сравните и отправьте новый запрос pull с чистой историей фиксации.
- кроме того, это хорошая идея, чтобы удалить ветку после запрос был объединен.
- и вы может комментировать и закрывать ваши предыдущие запросы на вытягивание.
вы также можете использовать по 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