Как обновить запрос с раздвоенным РЕПО?

поэтому я сначала раздвоил РЕПО, а затем сделал фиксацию на этом раздвоенном РЕПО. Затем я открыл запрос. Запрос pull перечислил все изменения, которые я хотел.

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

5 ответов


вы сделали это правильно. Запрос pull будет автоматически обновляться. Процесс:

  1. открыть запрос на вытягивание
  2. фиксация изменений на основе обратной связи в локальном РЕПО
  3. нажмите на соответствующую ветку вашей вилки

запрос pull автоматически добавит новые коммиты в нижней части обсуждения запроса pull (т. е. он уже там, прокрутите вниз!)


обновление запроса 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

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


связанные ссылки о перебазировании:


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


Я сделал это, используя шаги, описанные ниже:

  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>

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

  1. внести изменения локально.
  2. откройте GitHub, переключитесь на локальные репозитории, дважды щелкните репозиторий.
  3. переключите ветку (в верхней части окна) на ветку, из которой вы создали запрос на вытягивание(т. е. ветку на вашей стороне вилки сравнения)
  4. должна появиться опция ввода commit comment on right и фиксации изменений в локальном РЕПО.
  5. нажмите sync сверху, который среди другие вещи, толкает вашу фиксацию от локального к удаленной вилке на GitHub.
  6. запрос pull будет обновляться автоматически с дополнительными фиксациями. Это связано с тем, что вытянутый запрос представляет собой разницу с ветвью вашей вилки. Если вы перейдете на страницу запроса на вытягивание(ту, где вы и другие можете прокомментировать ваш запрос на вытягивание), на вкладке фиксации должны быть ваши дополнительные фиксации.

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