Я собираюсь начать использовать grunt-rev и grunt-usemin с grunt-watch для своих нужд веб-разработки (в частности, RESTful Web App).
У меня есть локальная машина для разработки, которая будет запускать grunt-watch для прикрепления идентификаторов ревизий к моим JS-файлам. Я git commit
и git push
переношу свое дерево в репозиторий git, а затем прошу производственный сервер git pull
внести изменения из репозитория git, чтобы показать их посетителям сети.
Проблема в том, что я не хочу, чтобы мой репозиторий git сохранял разные имена файлов (из-за grunt-rev
) при каждой фиксации. Это было бы плохо, потому что тогда я не смог бы выполнять git diff
между фиксациями без того, чтобы мой экран не заполнялся содержимым файлов, которые появляются и исчезают, а также это могло бы (иногда) занимать намного больше памяти, чем если бы хранились только небольшие различия файлов.
Единственное решение, которое я вижу, это добавить каталог build
, содержащий имена файлов с версиями, в мой .gitignore
, чтобы не хранить эти файлы (с постоянно меняющимися именами файлов) в git. Но не означает ли это, что мне придется запустить grunt-watch
и на моем производственном сервере, чтобы создать там каталог build
с версионными именами файлов? Но это усложняется: новый процесс должен запускаться на удаленном сервере, возможно, с небольшими шансами на ошибку при обработке файлов. Не то решение, на которое я надеялся.
У вас есть другое решение? Что бы вы посоветовали мне сделать?