Я нашел много способов решения проблемы пробелов в Git, но все они требуют каких-то действий со стороны пользователя: настроить Git на игнорирование изменений ws, настроить хук pre-commit с предупреждением или просто настроить редактор на автоматическое их удаление. Но есть ли способ просто игнорировать изменения пробелов насерверная сторонаили еще лучше молча удалить все пробелы?
Предыстория: у нас есть большой репозиторий с рядом разработчиков, которых мы не хотим преследовать и убеждать перенастраивать их инструменты, но мы не хотим иметь никаких конечных пробелов в нашем репозитории. Для меня решение очевидно: удалить все пробелы один раз и игнорировать любые изменения ws с этого момента. В идеале также удалить ws во всех новых коммитах. Но как это сделать?
решение1
Вы не можете сделать это разумно. Вы не можете изменить содержимое коммита; вы можете только создавать новые коммиты. Даже если бы это было возможно, это сломало бы git: коммиты на сервере не были бы связаны с историей, хранящейся в локальных репозиториях разработчиков, и ничего бы не работало. Вам действительно нужно выполнить такую фильтрациюдофайлы добавляются в репозиторий, поэтому вы делаете это на стороне клиента в pre-commit
хуках и т. д.
Лучшим решением будет реализовать на сервере механизм принудительного применения: отклонять изменения, которые не соответствуют вашим стандартам.