web-dev-qa-db-fra.com

Que signifie une icône grise dans GitHub distant?

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. 

enter image description here

62
BC2

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:

missing sub module

22
Boj
git rm --cached <folder_name>

Ensuite, allez dans le répertoire parent et faites:

git add .
git commit -m "<your_message>"
git Push --all
39
Ankit Agrawal

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.

19
Cockers

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
2
sadfasdf

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

1
Simon Somlai

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.

1
Leigh Mathieson

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:

  1. Supprimer le repo du dossier parent
  2. Créez un nouveau référentiel sans en cochant "Initialisez ce référentiel avec un fichier LISEZMOI" car nous allons importer le référentiel existant.
  3. 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

  4. Actualisez votre dépôt Github et tous vos répertoires devraient être présents
0
Jennifer Paulino

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.

0
nmal