Czy ktoś może mi powiedzieć, dlaczego mam szarą ikonę, gdy przesyłam moje pliki na Github? Po stronie katalogu aplikacji powinny znajdować się modele, widoki i kontrolery, ale w zdalnym GitHubie nie mogę kliknąć.
Odpowiedzi:
Wygląda na to, że utworzyłeś podmoduł wskazujący nieosiągalną lokalizację zdalną.
Zobacz tę odpowiedź . Zielona ikona wskazuje na moduł podrzędny. Zakładam, że w twoim przypadku jest on wyszarzony, ponieważ moduł podrzędny został nieprawidłowo skonfigurowany.
Biorąc pod uwagę, że .gitmodules
nie ma go, musiał zostać usunięty, pozostawiając podmoduł bez zdalnej informacji.
Jeśli wejdziesz do app
i wpiszesz git remote -v
, zobaczysz, gdzie wskazuje ten moduł. To miejsce jest obecnie nieosiągalne.
W podobnym scenariuszu dodałem podmoduł i usunąłem .gitmodules
. Wynik na GitHub wygląda następująco:
cat .gitmodules
wraca? Nie
git rm --cached <folder_name>
Następnie przejdź do katalogu nadrzędnego i wykonaj:
git add .
git commit -m "<your_message>"
git push --all
--all
przesuwa wszystkie gałęzie .
Git myśli, że jest to moduł podrzędny, ponieważ zawiera katalog .git. Naprawić...
Zmieniono katalog na naruszający katalog:
cd <offending git submodule>
Usuń znajdujący się w nim katalog .git:
rm -rf .git
Zaktualizuj pamięć podręczną git:
git rm --cached <offending git submodule>
Przejdź do katalogu nadrzędnego:
cd ..
Dodaj katalog do gita:
git add .
git commit -m "Changed submodule to directory"
git push --all
Wygląda na to, że zainicjowałeś git w folderze. Usuń plik git (rm -rf) z podfolderu, utwórz nowe repozytorium i ponownie zainicjuj git.
Zainicjowałeś już git w katalogu aplikacji i nie możesz znaleźć pilota. Usuń plik .git w aplikacji. .
[app(master)]$ sudo rm -r .git
Lub pokaż ukryte pliki w folderze i zrób to ręcznie. Następnie ponownie zatwierdź i ponownie prześlij zmiany w folderze nadrzędnym
Najłatwiejszą metodą, jaką znalazłem, było po prostu usunięcie folderu z lokalnego i zaktualizowanie zdalnego repozytorium. Przejdź do katalogu lokalnego i wytnij folder zawierający niepoprawnie skonfigurowany podfolder .git do innej lokalizacji (poza lokalnym repozytorium, np. Na pulpit), abyś mógł naprawić problem i skopiować go później, a następnie uruchom:
git submodule update
git add --all
git commit --all
git push
Powinno to usunąć wyszarzony folder w zdalnym repozytorium. Następnie skopiuj folder z powrotem do swoich plików lokalnych i uruchom add --all commit --all git push jak powyżej, uważając, aby najpierw usunąć nieprawidłowo skonfigurowany folder .git z podfolderu, aby uniknąć tego samego problemu jeszcze raz; aby zlokalizować to w systemach linux, użyj cntrl-h z folderu, aby wyświetlić ukryte pliki w folderach, zobaczysz folder .git obecny w podfolderze, który powoduje problem, po prostu usuń go i to powinno rozwiązać
Ma już wewnątrz .git i dlatego jest szara. tzn. został również zainicjowany w git.
W moim przypadku zainicjowałem repozytorium git w folderze głównym (tym, który ma manage.py) podczas wdrażania do Heroku przed skonfigurowaniem repozytorium Git w folderze nadrzędnym projektu.
Kiedy następnie utworzyłem nowe repozytorium w folderze nadrzędnym projektu, folder główny obsługujący widoki modeli i kontrolery był wyszarzony. Pracowały dla mnie:
W folderze głównym, w folderze z manage.py, wykonaj następujące czynności:
git remote add origin „github repo link”
git push -u wzorzec pochodzenia