Объединить последовательный толчок в единый для проверки кода - PullRequest
0 голосов
/ 24 сентября 2018

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

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

За исключением превентивных мер от разработчика, предоставляет ли Git какие-либо опции для объединения последовательных нажатий в один.

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете сделать это довольно легко без git rebase или git merge --squash.В этом примере ниже я раздавил последние 2 коммита.

Если вы хотите написать новое сообщение о коммите с нуля, этого достаточно:

git reset --soft HEAD~2 &&
git commit

Если вы хотите начать редактирование новогосообщение коммита с конкатенацией существующих сообщений коммита (т. е. аналогично тому, с чего начнёт список команд pick / squash / squash /… / squash git rebase -i), затем вам нужно извлечь эти сообщения и передать их git commit:

git reset --soft HEAD~2 && 
git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"

Оба эти метода объединяют два последних коммита в один новый коммит одинаковым образом.Мягкий сброс просто перенаправляет HEAD на последний коммит, который вы не хотите раздавливать.Программный сброс не затрагивает ни индекс, ни рабочее дерево, оставляя индекс в желаемом состоянии для вашего нового коммита (т. Е. Он уже содержит все изменения из коммитов, которые вы собираетесь «выбросить»).

В вашем случае, в зависимости от того, хотите ли вы просто оставить отзыв или загрузить для просмотра и зафиксировать, вы можете выбрать.

...