git: сделать чистую историю после многократного слияния из ветви функций, которая впоследствии перебазируется

Если вы используете Spring Boot, вы можете попробовать использовать @SpringBootTest и @AutoConfigureMockMvc.

-1
задан user1772004 19 January 2019 в 09:08
поделиться

2 ответа

Обычная техника, используемая в разработке numpy, состоит в том, чтобы объединить ветвь функций в один коммит. Это, вероятно, не так эффективно, как ответ @ Cimbali для небольшого проекта, но он действительно хорошо работает для чего-то такого же размера, где гранулярность одного PR очень мала по отношению ко всему проекту. Одно из преимуществ очистки с помощью ребазинга состоит в том, что вы можете перевести все в гарантированное состояние быстрой перемотки задолго до выполнения какого-либо слияния.

Стандартная команда будет выглядеть примерно так:

git rebase -i master

. Затем выберите fixup для всех коммитов, кроме первого, и дайте ей покатиться.

0
ответ дан Mad Physicist 19 January 2019 в 09:08
поделиться

Что ж, вместо того, чтобы вручную выбирать вишню, вы можете автоматически выбирать вишню, то есть перебазировать:

git rebase A B

git автоматически:

  • выяснит родительский коммит между A и B
  • проходят через все коммиты в B, которые будут применены поверх A
  • выясняют, что некоторые коммиты уже находятся в A и их не нужно применять снова.

Однако, вы можете столкнуться с множеством конфликтов на этом пути.

Я полагаю, что если для вас импортируется чистая история на момент слияния, вы настраиваете свой рабочий процесс так, чтобы иметь git rebase origin/A вместо git merge origin/A, что означает, что ваша история останется чистой. Вы также можете немного прочитать о рабочих процессах git rebase.

0
ответ дан Cimbali 19 January 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: