Во время разработки моего php-приложения я сохранил все данные, которые приложение создает в папке приложения, и, следовательно, данные являются частью моего git-repo. Корень репо также является webroot. Это хорошо сработало для меня в начале разработки, и в то время это имело смысл для фиксации приложения вместе с данными.
Но я чувствую, что это нужно переделать сейчас по нескольким причинам. Одно из того, что размер данных становится слишком большим для меня, чтобы удобно хранить его в git-repo. Другим является то, что мне просто не нужно иметь моментальный снимок данных для данного коммита. Основная причина, я думаю, в том, что я развернул свое приложение для своего NAS (синологии) для реального использования, и я нажимаю на него с помощью webdav. И, насколько мне известно, git, невозможно или, по крайней мере, не практично делать толкает, оставляя некоторые данные в удаленном репо нетронутым.
Кроме того, было бы неплохо, хотя это не было необходимо, если бы оба приложения на nas и приложение на моем компьютере, а тестирование имеет доступ к одному и тому же каталогу данных. Это заставило меня задуматься о переносе данных из каталога приложений и получить доступ к нему через ftp. Но я не уверен, что это была бы хорошая идея, тем более, что весь "реальный" доступ к файлам был бы с того же устройства, nas.
Для чего это хорошая структура и методы доступа к файлам?
Я всегда сохраняю свои данные в отдельном каталоге, который я беру из git с файлом.gitignore. Это означает, что когда я нажимаю изменения, я не переписываю текущие данные.
Если мне нужны свежие данные для тестирования, я использую ftp для загрузки новой версии каталога данных с живого сервера на мой сервер разработки.
Это работает для меня, потому что большая часть данных загружается пользователями, поэтому она быстро выходит из синхронизации с моей копией разработки, и я не хочу ее перезаписывать. Это также означает, что я не могу случайно испортить свои данные с ошибкой в разработке.
If you want an empty dir and make sure it stays 'clean' for git, create a .gitignore containing the following lines within: # .gitignore sample #ignore all files in this dir... * #... except for this one. !.gitignore
Извините, это выглядит ужасно, я новичок в мини-Markdown