Вы понимаете это правильно. Однако вы можете копировать эти файлы на производственный сервер, вытаскивать локальное репо (которое стирает оригиналы), а затем восстанавливать файлы из копии. После этого эти файлы не будут отслеживаться, поэтому никакие (обычные) операции git, включая любые дальнейшие тяги, не будут перезаписаны или удалены.
edit:
На самом деле автор вопрос предлагает гораздо более приятное решение, использующее git rm --cached
на производственном сервере, который удалит файлы из индекса (позволяя им удаляться из репозитория в следующем коммите), но сохраняя их в рабочем дереве.