Я использую рабочий процесс разработки 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
", или по-другому?Я понимаю, что смогу сделать огромный сквош, когда я, наконец, доволен, но есть ли другие способы без переписывания истории?