2016-08-10 2 views
4

В репозитории имеется очень большое количество коммитов, вызванных автоматическими обновлениями встроенных инструментов для файлов AssemblyInfo (проект находится на C#). Все они имеют «Dev BuildAgent» в качестве автора.Выполняется сквош на основе

Есть ли способ раздавить все коммиты в репозитории от конкретного автора до первого ребенка от другого автора?

Конечно, один из вариантов будет работать git rebase --interactive с помощью SHA корня фиксации и вручную пройти через список фиксаций и применить команду для игры в сквош с подходящей фиксации вручную. Однако было бы полезно узнать, есть ли более быстрый вариант, имея в виду очень большое количество коммитов.

ответ

2

Чтобы передать все коммиты автора по электронной почте [email protected] в следующее дочернее соглашение другого автора, вы можете использовать следующее. Вы можете, конечно, также проверить любые другие атрибуты, такие как имя автора, commiter email, имя коммиттера, ...

git filter-branch --commit-filter '[ "$GIT_AUTHOR_EMAIL" = "[email protected]" ] && skip_commit "[email protected]" || git commit-tree "[email protected]"'