Quelqu'un peut-il me dire, s'il vous plaît, pourquoi j'ai l'icône grise lorsque je transfère mes fichiers vers github? Dans le répertoire de l'application, il devrait y avoir des modèles, des vues et des contrôleurs, mais je ne peux pas cliquer dans le GitHub distant.
On dirait que vous avez créé un sous-module, pointant vers un emplacement distant inaccessible.
Voir cette réponse . Lorsque cette icône est verte, elle pointe vers le sous-module. Je suppose que c'est grisé dans votre cas parce que le sous-module n'a pas été configuré correctement.
Étant donné que .gitmodules
n'est pas présent, il doit avoir été supprimé, ce qui laisse un sous-module sans information distante.
Si vous entrez app
et tapez git remote -v
, vous verrez également où ce module pointe. Cet endroit est actuellement inaccessible.
Dans un scénario similaire, j'ai ajouté un sous-module et supprimé .gitmodules
. Le résultat sur GitHub ressemble à ceci:
git rm --cached <folder_name>
Ensuite, allez dans le répertoire parent et faites:
git add .
git commit -m "<your_message>"
git Push --all
On dirait que vous avez initialisé git dans le dossier. Supprimez le fichier git (rm -rf) du sous-dossier, créez un nouveau référentiel et réinitialisez git.
Git pense que c'est un sous-module car il contient un répertoire .git. Pour réparer ...
Répertoire modifié dans le répertoire incriminé:
cd <offending git submodule>
Supprimez le répertoire .git à l'intérieur:
rm -rf .git
Mettez à jour le cache git:
git rm --cached <offending git submodule>
Allez dans le répertoire parent:
cd ..
Ajoutez le répertoire à git:
git add .
git commit -m "Changed submodule to directory"
git Push --all
Vous avez déjà initialisé git dans le répertoire de l'application et il ne trouve pas la télécommande. Supprimez le fichier .git dans l'application. .
[app(master)]$ Sudo rm -r .git
Ou affichez les fichiers cachés dans le dossier et faites-le manuellement. Puis ré-engagez et ré-appuyez les modifications du dossier parent
La méthode la plus simple que j'ai trouvée consistait simplement à supprimer le dossier du répertoire local et à mettre à jour le référentiel distant. Accédez à votre répertoire local et coupez le dossier contenant le sous-dossier .git configuré de manière incorrecte vers un autre emplacement (en dehors du référentiel local, par exemple, le bureau) pour pouvoir corriger le problème et le recopier ultérieurement, puis exécutez:
git submodule update
git add --all
git commit --all
git Push
Cela devrait supprimer le dossier grisé sur le dépôt distant. Copiez ensuite le dossier dans vos fichiers locaux et exécutez add -all commit -all git Push comme indiqué ci-dessus, en prenant soin bien sûr de supprimer au préalable le dossier .git mal configuré au préalable pour éviter le même problème. encore; pour localiser cela sur les systèmes linux, utilisez cntrl-h depuis le dossier pour afficher les fichiers cachés dans vos dossiers. Un dossier .git est présent dans un sous-dossier à l'origine du problème. Supprimez-le simplement et résolvez-le.
Dans mon cas, j’avais initialisé un référentiel Git dans le dossier racine (celui qui contient manage.py) lors du déploiement sur Heroku avant en configurant un référentiel Git dans le dossier parent du projet.
Lorsque j'ai ensuite créé un nouveau référentiel dans le dossier parent du projet, le dossier racine gérant les vues de modèles et les contrôleurs était grisé. Ce qui suit a fonctionné pour moi:
Dans votre dossier racine celui avec manage.py, procédez comme suit:
git remote ajoute Origin "lien de repo github"
maître git Push -u Origin
Il contient déjà un .git à l'intérieur et apparaît donc en gris ... c'est-à-dire qu'il a également été initialisé à l'intérieur.