Как отменить / повторить отдельные части кода?

Я использую Eclipse.

Это часто случается, когда мы разрабатываем такой код (предположим, он разрабатывается последовательно, сверху вниз):

Part 1 (*)
Part 2
Part 3
Part 4 (*)
Part 5

Но мы только что выяснили, что части 1 и 4 (отмеченные (*)) неверны, а остальные просто в порядке. Вопрос в том, как мы можем отменить только эти две части (1 и 4), не отменяя остальных?

Если бы мы могли отменить выборочно, это было здорово. Обратите внимание, что простое возвращение кода к версии 1 приводит к потере частей 2, 3 и 5, которые являются правильными частями и должны оставаться в коде. Также обратите внимание, что обычно эти части смешиваются в один или два кодовых блока (не в отдельных блоках).

Пример:

Part 1: Add method f1(x, y) and move some code from main() to f1() --> incorrect (should be reverted)    
Part 2: Add method f2(a, b, c, d) --> correct (should remain)    
Part 3: Change another part of main() implementation --> correct (should remain)       
Part 4: Change f2 signature to f2(s, n) --> incorrect (should be reverted)       
Part 5: Change body of f2 --> correct (should remain)

Текущий подход, который я использую:

Сохраните копию последней версии где-нибудь (например, во временном текстовом файле), затем отмените до части 1 и добавьте эти правильные части из временного текстового файла в исходный код.Ручное сравнение разных версий и разрешение конфликтов.

Кто-нибудь думает о более простом, но более автоматическом способе выбрать, какое изменение отменить, а какое оставить?

Ответы на вопрос(2)

Ваш ответ на вопрос