#git #github
Вопрос:
Это может быть вопрос для начинающих, так как я мало взаимодействовал с GitHub. Но я хотел знать, возможен ли следующий рабочий процесс
- Переместите некоторые файлы из папки на GitHub
- Удалите эти файлы с локального компьютера
- Переместите новые файлы в одну и ту же папку GitHub, сохраняя при этом как предыдущие, так и более новые файлы в папке репозитория GitHub.
Причина этого рабочего процесса в том, что я работаю с большим количеством файлов объемом более 15 ГБ, и у меня не хватает места локально. Поэтому я подумал, что могу отправить эти файлы в Git по частям после того, как закончу с ними работать, удалить их, получить новые файлы, а затем снова отправить их в то же место в Git. В конце концов, я хочу, чтобы все мои файлы на GitHub были из одной папки, хотя они могут быть/могут не быть локальными. Возможно ли это?
Комментарии:
1. Нет, это невозможно.
2. Хорошо, хотя, может быть, это возможно каким-то другим способом? Не могу найти способ хранить все данные, необходимые для моего проекта локально
Ответ №1:
Я думаю, что вам не следует использовать git для файлов объемом 15 ГБ . Потому что git предназначен для размещения кода и работы с обычными текстовыми файлами. Он не является мощным для хранения файлов. Это работает, но для этого вы можете использовать сервисы хранения файлов.
Комментарии:
1. Я не использую его в качестве службы хранения файлов, я хочу хранить данные вместе с кодом, над которым я работаю для проекта
Ответ №2:
Теоретически это возможно. Но это плохая практика git, так как ваше локальное и удаленное репо будут не синхронизированы друг с другом. Если это для веб-разработки, я бы определенно предложил использовать такой сервис, как AWS S3 или даже Imgur. Если это большие наборы данных, то я бы предложил использовать службу размещения баз данных.
Комментарии:
1. Понял. Я буду отказываться от репо локально, так как это временный проект. Думаю, тогда я буду использовать GDrive для хранения
2. Рад, что смог вам помочь
Ответ №3:
Git не работает с отдельными файлами, кроме как в составе коммитов, которые содержат полный снимок репозитория в определенном состоянии. Он также рассматривает все копии репозитория, включая копию на вашем локальном компьютере, как равные, и ожидает, что каждая из них будет содержать полную копию всей истории репозитория. Таким образом, даже «постоянное» удаление большого файла в текущей версии вашего репозитория не освободит место.
Git-это система управления версиями исходного кода, предназначенная для использования с большими коллекциями небольших текстовых файлов, обычно размером не более нескольких килобайт. Он не имеет богатой поддержки двоичных файлов и совсем не подходит для файлов размером порядка гигабайт.
Существуют плагины, такие как git lfs, которые позволяют отслеживать версии больших файлов, не храня их в самом репозитории. Он поддерживается GitHub и другими хостинг-провайдерами.
В качестве альтернативы, отделите свои данные от кода и сохраните большие файлы в хранилище данных, динамически ссылаясь на них в коде.
Комментарии:
1. Да, я изучал lfs, даже у этого есть пределы, которые я видел. Я попробую отделить данные от кода. Спасибо!