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ąć.
83
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ąć.
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? NieNastępnie przejdź do katalogu nadrzędnego i wykonaj:
źródło
--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:
Usuń znajdujący się w nim katalog .git:
Zaktualizuj pamięć podręczną git:
Przejdź do katalogu nadrzędnego:
Dodaj katalog do gita:
źródło
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.
źródło
Zainicjowałeś już git w katalogu aplikacji i nie możesz znaleźć pilota. Usuń plik .git w aplikacji. .
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
źródło
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ć
źródło
Ma już wewnątrz .git i dlatego jest szara. tzn. został również zainicjowany w git.
źródło
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
źródło