Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Файлы в одной папке не индексируются и не отправляются на GitHub

#git #github


Прошу подсказать.

Заливал проект Asp.Net MVC через Git Bash на GitHub. Но ключевая папка проекта почему-то
копируется без файлов, т.е. пустая папка. Остальные файлы проекта, включая другую папку
копируются нормально. Скрин прилагаю.

Также прилагаю скрин, что папка DataProject не хочет индексироваться, точней файлы
внутри неё - 

В чем проблема? Я писал все как в инструкции:

git add .
git commit -a"name"
git push


Также пробовал заходить отдельно в папку DataProject и там прописывать git add .;
git commit , выходил на уровень выше проверял статус и красное пропадало.....но файлы
по-прежнему на ГитХаб не загружались. 
Поодскажите, пож-т.
    


Ответы

Ответ 1



В чём причина такого поведения Вот эта строка: modified: DataProject (modified content) Указывает на то, что папка DataProject — это ещё один репозиторий внутри основного репозитория. Это называется субмодуль (submodule). Гитхаб показывает субмодули специальной серой иконкой: Субмодуль — это полностью самостоятельный репозиторий. У него свои данные, свои коммиты, своя история. Внешний, «родительский» репозиторий не может сохранять изменения файлов внутри субмодуля. Он знает (сохраняет в своих коммитах) только следующее: В каком пути лежит субмодуль (например, корень проекта/DataProject). На какой коммит субмодуля нужно смотреть. Похоже, что у вас такая структура: ~/Downloads/DataProject # это ваш проект | → ~/Downloads/DataProject/DataProject # а это субмодуль внутри него → ~/Downloads/DataProject/packages # просто папка Скорее всего субмодуль здесь не нужен, и вы его добавили по ошибке. Обратите внимание: папка packages не должна сохраняться в репозитории — добавьте её в gitignore. (Спасибо Pavel Mayorov за наблюдательность) Как починить репозиторий Правильный путь — удалить субмодуль Инструкция здесь: Как удалить субмодуль? Простой путь — начать заново Если вы только начали работу над проектом, можно удалить историю Git и создать новый репозиторий. Все ваши файлы останутся на месте. Если беспокоитесь — сделайте бэкап в новую папку или архив. Удалите старый репозиторий: cd ~/Downloads/DataProject # Удаляем репозиторий rm -rf .git # И файл с конфигурацией субмодуля. rm -f DataProject/.git # И список субмодулей rm -f .gitmodules Теперь заново инициализируем репозиторий. Убедитесь, что вы находитесь в той же папке! git init Добавьте файл .gitignore для VS в корень проекта. Теперь лишние файлы не будут сохраняться в Git. Сохраните .gitignore в коммит: git add .gitignore git commit -m'add gitignore' Добавьте оставшиеся файлы. git add . git commit -m'message' Теперь снова настройте удалённый репозиторий и перепишите его новой историей. git remote add <адрес удалённого репозитория на гитхабе> git push -uf origin master:

Ответ 2



Попробуйте принудительно добавить файлы в индексируемую область, например: git update-index --no-assume-unchanged DataProject Еще посмотрите, что у вас в гитигноре, возможно, там и прописана эта папка.

Комментариев нет:

Отправить комментарий