Загрузка проекта 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, как сказано в подсказке. Сначала почитайте о собмодулях, то есть подмодулях.

Вернуться на верх