Я пытаюсь объединить ветку с кучей коммитов (~ 20). Однако первая фиксация заключается в том, чтобы отменить полный код , и все последующие коммиты также содержат пробельные изменения, которые я не хочу. Я пытаюсь повторно применить все эти коммиты, но я не знаю, как сказать git игнорировать изменения пространства.Reapply совершает при игнорировании всех изменений пространства с помощью Git
Но я пробовал git format-patch -20 --ignore-all-space
, а затем git apply *.patch
на чистой ветке, но это, очевидно, не сработало, так как патчи индивидуально отформатированы с изменениями пространства их предков.
В основном я хотел бы иметь ту же историю, но без пробелов изменений:
A - B - C - D
/
P - Q
\
A'- B'- C'- D' (spaces trimmed)
редактировать: Для того, чтобы выяснить, какие совершает содержат какой.
- A - reindenting весь файл с именем Foo (заменяющий
tabs
сspaces
). Я хотел бы падение это. - B - применение действительных изменений кода в foo. Я хотел бы держать это.
- C - применение действительных изменений кода и повторное использование другого файла бар. Я хотел бы сохранить только изменение коды (с сохранением пространства изменения для модифицированных линий)
- D - применение допустимых изменений коды в обув и бара, учитывая те факты, что они теперь используют
spaces
вместоtabs
. Я хотел бы держать эти изменения тоже.
Таким образом, 'A' является фиксацией того, что« означает переделение всего кода правильно »? Не могли бы вы прояснить это в вопросе? – sschuberth
Кроме того, не могли бы вы пояснить, содержат ли коммиты пробел * и * код в той же * строке * или только в том же * файле *? – sschuberth
Я редактировал вопрос; это помогает? – bagage