Github squash фиксируется из веб-интерфейса по запросу запроса после комментариев?

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

Общим вариантом использования является следующее:

  • Сделать локальные коммиты, работающие над функцией
  • Сквош фиксирует
  • Сделать запрос Pull
  • Получить комментарии к отзыву
  • Обновить PR соответствующим образом

Я могу сделать это локально на своей машине, а затем снова нажать свое изменение (используя -f, так как rebase не синхронизируется с пультом дистанционного управления). Это немного раздражает.

Однако для этого требуется, чтобы я делал rebase каждый раз, когда я обращаюсь к комментариям обзора - есть ли способ сделать это с веб-интерфейса?

Или, может быть, мой рабочий процесс ошибочен, должен ли я исправлять каждый из моих "комментариев к обзору" непосредственно на основной PR-коммит?

Ответ 1

Вам больше не нужно выполнять переадресацию/раздачу: просто нажмите фиксацию на свою ветвь PR.

Владелец оригинального репо, если он/она предпочтет, выкрикнет эти коммиты для вас (с марта 2016 года):

https://help.github.com/assets/images/help/pull_requests/squash и-merge.png

См. "" Squash your commit документация: он позволяет использовать новый рабочий процесс, как для вас, так и для стороннего оригинального репо.

Как я уже отмечал ниже: он будет реализован, как реализовано слияние PR:

  • Если это работает без конфликта, слияние (или здесь merge --squash: см. В git, в чем разница между merge --squash и rebase? ") будет создаваться автоматически.
  • Если есть конфликт, слияние не создается, и у сопровождающего есть возможность отклонить на данный момент PR, попросив вкладчика выполнить работу по раздавлению коммитов и изменению PR.

Это действительно так, как сейчас, за исключением того, что GitHub добавил команду --squash в команду слияния. Ничего больше.