Загрузка проекта django в репозиторий github
Я относительно новичок в github и все еще пытаюсь вывести свое django-приложение в продакшн, используя репозиторий github. Проблема в том, что по какой-то причине github отказывается фиксировать определенную папку в основной ветке. Когда я пытаюсь зафиксировать изменения, я получаю следующее сообщение:
В ветке main Неотслеживаемые файлы: (используйте "git add ..." для включения в то, что будет зафиксировано) blog/
ничего не добавлено в коммит, но присутствуют неотслеживаемые файлы (используйте "git add" для отслеживания)
Я предполагаю, что он говорит мне, что есть некоторые неотслеживаемые файлы в папке блога, но когда я пытаюсь добавить папку, я получаю следующую ошибку:
Предупреждение: добавление встроенного git-репозитория: blog
подсказка: Вы добавили еще один git-репозиторий внутрь вашего текущего репозитория.
подсказка: Клоны внешнего репозитория не будут содержать содержимое
.
подсказка: встроенного репозитория и не будут знать, как его получить.
подсказка: Если вы хотели добавить подмодуль, используйте:
подсказка:
подсказка: git submodule add blog
подсказка:
подсказка: Если вы добавили этот путь по ошибке, вы можете удалить его из
hint: индекса с помощью:
hint:
подсказка: git rm --cached blog
подсказка:
hint: Для получения дополнительной информации смотрите "git help submodule".
Похоже, он рассматривает его как репозиторий github, хотя это папка в моем проекте. Вот моя файловая система:
blog---(основная папка проекта с settings.py, именно эта папка отказывается фиксироваться)
|
media
|
посты
|
статический
|
templates
|
manage.py
|
некоторые другие системные файлы
В чем может быть проблема? Возможно, я ранее загрузил репозиторий с тем же именем и связал его с тем же файлом проекта, но позже удалил его. Я в растерянности. Любая помощь будет принята с благодарностью
warning: adding embedded git repository: blog
Похоже, он рассматривает его как репозиторий github ...
Это действительно репозиторий Git. (GitHub - это коммерческий веб-сайт, который, помимо всего прочего, занимается размещением репозиториев Git.)
несмотря на то, что это папка в моем проекте
.
Папка blog
является рабочим деревом для этого другого Git-репозитория.
Репозиторий Git не может содержать другой репозиторий Git. Сообщения "подсказки" Git'а здесь некачественные, но правильные: ваш "внешний" репозиторий будет перечислять другой репозиторий как нечто, что кто-то должен клонировать, а не фактически содержать "внутренний" репозиторий. Но чтобы перечислить это корректно, необходимо использовать git submodule add
. Если вы позволите всему идти своим чередом, вы получите разбитый субмодуль, или то, что я люблю называть "полуразбитым" субмодулем. Git называет то, что он собирается хранить, gitlink, и это только половина настоящего подмодуля: другая половина - это инструкции, которые понадобятся Git'у позже, чтобы клонировать другой Git-репозиторий.
Если вы хотите использовать подмодули - а это часто плохая идея: люди называют их sob-модулями с полным основанием - используйте git submodule add
. Если вы не хотите использовать подмодули, убедитесь, что вы не добавляете рабочее дерево Git-репозитория.
Чтобы сделать папку blog
не рабочим деревом Git-репозитория, переместите весь Git-репозиторий, включая рабочее дерево, в другое место, создайте новую папку blog
и скопируйте в эту папку blog
файлы и вложенные папки, которые вы хотите поместить в ваш обычный Git-репозиторий. (Обратите внимание, что blog
в настоящее время содержит скрытую папку .git
, которая, в свою очередь, содержит основные базы данных репозитория и другие вспомогательные управляющие файлы для этого второго Git-репозитория.)
Чтобы сделать папку blog
правильным подмодулем, используйте git rm --cached blog
, как сказано в подсказке, затем используйте git submodule add
, как сказано в подсказке. Сначала почитайте о собмодулях, то есть подмодулях.