Есть проект куда патчи принимаются только через Git, проект на Gerrit. Возможно ли отправить патч не изменяя локальные файлы? Изменение локальных файлов ломает инкрементальную сборку, сборка с нуля занимает примерно 2 часа а инкрементальная сборка 1-2 минуты. Делать копию исходников не вариант, исходники занимают несколько гигабайт и уже используется sparse checkout. Проект использует линейную историю без веток, все патчи rebase’ятся. Отправлять текущую ветку напрямую нельзя, т.к. там есть коммиты, которые не надо отправлять.
Сейчас делается как-то так:
git checkout publish
git reset --hard origin/master
git am <patch list>
git push origin HEAD:refs/for/master
git checkout master