Рабочий процесс разработки при тестировании комбинации двух ветвей разработки - PullRequest
0 голосов
/ 09 ноября 2018

Я использую рабочий процесс разработки git, где у меня есть ветка master и несколько веток для исправления ошибок или разработки функций.Я оказался в ситуации, когда мне нужно проверить, хорошо ли работают две из этих незакрепленных ветвей, прежде чем одна из них сможет быть объединена с мастером.Для этого я создал ветку test.Таким образом, ветви:

  • master
  • featureA
  • featureB
  • test

где ветвь test создается

  • git checkout -b test master
  • git merge featureA
  • git merge featureB

Ветка test никогда не будет объединена;он содержит только коммиты в featureA или featureB.Когда оба featureA и featureB объединены, ветвь test может быть безопасно удалена.

На основе тестирования я изменяю либо featureA или featureB, либо оба, затем объединяюих снова в test.

Проблема в том, что я получаю огромное количество коммитов на featureA и featureB.Обычно, работая с одной веткой, я либо проверяю код перед фиксацией, либо часто использую git commit --amend.Но если я наберу git commit --amend на featureA, а затем git merge featureA на test, я получу конфликт слияния.Если я не фиксирую изменения на featureA, я не могу переключить ветви на test и не могу объединить изменения.

Есть ли способ, которым я могу выполнить комбинированный тестфункциональность ветвей featureA и featureB, без создания нового коммита каждый раз, когда я вносю незначительное изменение в один из них, например, путем слияния с измененным коммитом, «ветвь сброса test, сложная к состоянию слияния featureAи featureB ", или по-другому?Я понимаю, что смогу сделать огромный сквош, когда я, наконец, доволен, но есть ли другие способы без переписывания истории?

...