Как обновить пул-запрос из разветвленного репо? - PullRequest
554 голосов
/ 20 марта 2012

Итак, я сначала раздвоил репо, а затем сделал коммит в этом раздвоенном репо. Затем я открыл запрос на удаление. В запросе на получение списка перечислены все изменения, которые я хотел.

После рассмотрения моего запроса на выдачу, я сделал несколько изменений, которые владелец репо хотел, чтобы я сделал, прежде чем он принял его. Я внес эти изменения в свой форк, теперь как мне обновить запрос на получение изменений этими изменениями (или это не так, как я должен его обрабатывать)?

Ответы [ 5 ]

542 голосов
/ 20 марта 2012

Вы сделали это правильно. Пул-запрос будет автоматически обновлен. Процесс такой:

  1. Открытый запрос на извлечение
  2. Внесение изменений на основе отзывов в вашем локальном репо
  3. Нажмите на соответствующую ветку вашей вилки

Пул-запрос автоматически добавит новые коммиты внизу обсуждения пул-запроса (т. Е. он уже есть, прокрутите вниз! )

74 голосов
/ 02 июля 2014

Обновление pull-запроса в GitHub так же просто, как и фиксация требуемых изменений в существующей ветви (которая использовалась с pull-запросом), но часто также требуется объединить изменения в один коммит:

git checkout yourbranch
git rebase -i origin/master

# Edit command names accordingly
  pick   1fc6c95 My pull request
  squash 6b2481b Hack hack - will be discarded
  squash dd1475d Also discarded

git push -f origin yourbranch

... и теперь запрос на получение содержит только один коммит.


Ссылки по теме о перебазировании:

32 голосов
/ 20 марта 2012

Просто нажмите на ветку, на которую ссылается запрос на извлечение.Пока запрос на получение доступа все еще открыт, он должен автоматически обновляться с любыми добавленными коммитами.

10 голосов
/ 27 июля 2015

Я сделал это, используя следующие шаги:

  1. git reset --hard <commit key of the pull request>
  2. Сделали ли мои изменения в коде, который я хотел сделать
  3. git add
  4. git commit --amend
  5. git push -f origin <name of the remote branch of pull request>
3 голосов
/ 04 августа 2013

При использовании GitHub в Windows :

  1. Вносить изменения локально.
  2. Откройте GitHub, переключитесь на локальные репозитории, дважды щелкните репозиторий.
  3. Переключить ветвь (в верхней части окна) на ветвь, из которой вы создали запрос на извлечение (т. Е. Ветвь на стороне вилки сравнения)
  4. Должна появиться опция для ввода комментария о коммите справа и фиксации изменений в локальном репо.
  5. Нажмите синхронизировать сверху, что, помимо прочего, подталкивает ваш коммит с локального на ваш удаленный форк на GitHub.
  6. Запрос на получение обновлений будет автоматически обновляться с дополнительными коммитами. Это потому, что запрос pull представляет собой разность с веткой вашей вилки. Если вы перейдете на страницу запроса на получение (ту, где вы и другие пользователи могут прокомментировать ваш запрос на получение), на вкладке «Подтверждения» должны быть указаны дополнительные коммиты.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...