Вопрос о том, должны ли файлы WAR и другие сжатые файлы поддерживаться под контролем версий или нет.Некоторые организации хранят в своих системах контроля версий как можно больше: jar-файлы, zip-файлы, двоичные файлы;в других организациях, где это возможно, только текстовые файлы версий.
Лично я не думаю, что имеет смысл хранить сжатые файлы, такие как WAR-файлы, в git.Для этого есть три причины:
- Сжатые файлы не являются текстовыми файлами, и поэтому их нельзя объединять / преобразовывать или обрабатывать, как обычные текстовые файлы.
- Если вы храните сжатый файл, например, файл jar или war, есть вероятность, что кто-то еще уже где-то проверил этот файл, поэтому со временем сотни копий одного и того же файла загрязняют исходное дерево.
- Со временем дерево исходных текстов становится очень большим, что приводит к увеличению времени проверки, увеличению объема резервных копий и общим проблемам с техническим обслуживанием.
Я думаю, что лучший подход - это загрузить файл один раз в нечто вроде нексуса (или артефакта), а затем вытащить этот файл туда, куда вам нужно (обычно в скрипте сборки).
В некоторых случаях вам требуется версия сжатых или двоичных файлов, для этого существуют git-решения, такие как Git LFS