Хто-небудь може сказати мені, чому у мене є сірий значок, коли я переношу свої файли на github? Біля каталогу додатків повинні бути моделі, подання та контролери, але у віддаленому GitHub я не можу натиснути.
Відповіді:
Схоже, ви створили підмодуль, вказуючи на недосяжне віддалене місце.
Дивіться цю відповідь . Цей значок, коли зелений, буде вказувати на підмодуль. Я припускаю, що у вашому випадку це сіре, оскільки підмодуль був неправильно налаштований.
Враховуючи, що .gitmodules
цього немає, його потрібно було видалити, залишивши підмодуль без віддаленої інформації.
Якщо зайти app
та ввести, git remote -v
ви побачите, куди вказує і цей модуль. Наразі це місце недоступне.
За подібним сценарієм я додав підмодуль і видалив .gitmodules
. Результат на GitHub виглядає так:
cat .gitmodules
повертається? Не публікувати фактичні URL-адреси
git rm --cached <folder_name>
Потім перейдіть до батьківського каталогу і виконайте:
git add .
git commit -m "<your_message>"
git push --all
--all
штовхає всі гілки .
Git вважає, що це підмодуль, оскільки в ньому є каталог .git. Виправити...
Змінено каталог на образливий каталог:
cd <offending git submodule>
Видаліть каталог .git всередині нього:
rm -rf .git
Оновіть кеш git:
git rm --cached <offending git submodule>
Перейдіть до батьківського каталогу:
cd ..
Додайте каталог до git:
git add .
git commit -m "Changed submodule to directory"
git push --all
Схоже, ви ініціалізували git всередині папки. Видаліть файл git (rm -rf) із підпапки та створіть нове репо та повторно ініціалізуйте git.
Ви вже ініціалізували git всередині каталогу програми, і він не може знайти пульт. Видаліть файл .git у програмі. .
[app(master)]$ sudo rm -r .git
Або покажіть приховані файли всередині папки і зробіть це вручну. Потім повторно зафіксуйте та повторно натисніть зміни батьківської папки
Найпростіший спосіб, який я знайшов, - це просто видалити папку з локального та оновити віддалене репо. Перейдіть до вашого локального каталогу та виріжте папку, яка містить неправильно налаштовану підпапку .git, в інше місце (за межами локального репозиторію, наприклад, робочого столу), щоб ви могли виправити проблему та скопіювати пізніше, а потім запустити:
git submodule update
git add --all
git commit --all
git push
Це має видалити папку, яка є сірою на віддаленому репо. Потім знову скопіюйте папку у ваші локальні файли та запустіть add --all commit --all git push, як зазначено вище, звичайно спершу подбавши про те, щоб попередньо видалити неправильно налаштовану папку .git з підпапки, щоб уникнути тієї ж проблеми знову; щоб знайти це в системах Linux, використовуйте cntrl-h всередині папки для перегляду прихованих файлів у ваших папках, ви побачите папку .git, яка знаходиться в підпапці, що викликає проблему, просто видаліть це, і це повинно вирішити
У ньому вже є .git, і тому він виглядає сірим. тобто у ньому також ініціалізовано git.
У моєму випадку я ініціалізував репозиторій git у кореневій папці (той, що має manage.py) під час розгортання на Heroku перед налаштуванням сховища Git у батьківській папці проекту.
Коли я тоді створив нове репо в батьківській папці проекту, коренева папка, яка обробляє представлення моделей та контролери, була сірою. У мене працювало:
У вашій кореневій папці, у якій є manage.py, виконайте такі дії:
git remote add origin "github repo link"
git push -u master master