Я работаю над проектом с командой, где мы проверяем раньше и часто. Индивидуальные проверки завершаются в соответствии с тем, что разработчик делает изменения (включая тесты, где это возможно), но иногда направление работы меняется незначительно, и предыдущие фиксации необходимо отменить и сделать другим способом. Или код заглушки заполняется в последующих коммитах.
Когда придет время для просмотра кода, существует последовательность фиксации всех тегов с одинаковым номером идентификатора ошибки. Легко получить список таких изменений. Когда рецензент просматривает изменения один за другим, иногда происходит фиксация A, которая отменяется или модифицируется последующим фиксацией B как часть одного и того же обзора. Это может затруднить анализ.
Если только один разработчик работал над файлом на время изменения, то легко выполнить разницу между исходным состоянием файла и конечным состоянием файла. Проблема возникает, когда другой разработчик совершает несвязанные изменения в одном файле или даже в тех же функциях.
Как вы справляетесь с этой ситуацией? Существуют ли инструменты, которые, учитывая последовательность патчей к файлу, могут дать моральный эквивалент разницы между первой и последней версиями, но включают только подмножество этих патчей?
Подумайте об этом, я мог бы создать временную ветвь в git начиная с первого связанного изменения, а вишня - выбрать изменения, относящиеся к обзору. Надеюсь, не будет слишком много конфликтов, которые должны быть решены (и если есть, тогда вся партия должна быть пересмотрена одновременно). Любые другие идеи?
Дополнительная информация: Это большая устаревшая система, где одно изменение может касаться нескольких файлов. Файлы большие и крутые - слишком большие, чтобы просто просмотреть конечный продукт без указания того, что могло бы измениться.