web-dev-qa-db-ja.com

リモートGitHubの灰色のアイコンの意味

ファイルをgithubにプッシュしたときに灰色のアイコンが表示される理由を教えてください。アプリディレクトリの横には、モデル、ビュー、コントローラーがありますが、リモートGitHubにはクリックできません。

enter image description here

67
BC2

サブモジュールを作成し、到達不能なリモートロケーションを指しているようです。

この回答 を参照してください。そのアイコンは、緑色の場合、サブモジュールを指します。サブモジュールが正しく構成されていないため、あなたのケースではグレー表示されていると思います。

.gitmodulesが存在しない場合、それは削除されている必要があり、サブモジュールにはリモート情報がありません。

appに移動してgit remote -vと入力すると、このモジュールが指している場所も表示されます。この場所は現在到達不能です。

同様のシナリオで、サブモジュールを追加し、.gitmodulesを削除しました。 GitHubの結果は次のようになります。

missing sub module

23
Boj
git rm --cached <folder_name>

次に、親ディレクトリに移動して以下を実行します。

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

フォルダー内でgitを初期化したようです。サブフォルダーからgitファイル(rm -rf)を削除し、新しいリポジトリを作成してgitを再初期化します。

21
Cockers

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

Appディレクトリ内で既にgitを初期化しているため、リモートが見つかりません。 アプリ内の.gitファイルを削除します。

[app(master)]$ Sudo rm -r .git

または、フォルダ内の隠しファイルを表示して、手動で実行します。次に、親フォルダーの変更を再コミットおよび再プッシュします

1
Simon Somlai

私が見つけた最も簡単な方法は、ローカルからフォルダーを削除し、リモートリポジトリを更新することです。ローカルディレクトリに移動し、誤って設定された.gitサブフォルダーを含むフォルダーを別の場所(ローカルリポジトリの外部(デスクトップなど))にカットして、問題を修正して後でコピーしてから実行します:

git submodule update

git add --all

git commit --all

git Push

これにより、リモートリポジトリでグレー表示されているフォルダーが削除されます。次に、ローカルファイルにフォルダーを再度コピーし、上記のようにadd --all commit --all git Pushを実行します。同じ問題を回避するために、サブフォルダーから誤って設定された.gitフォルダーを事前に削除してください。再び; Linuxシステムでこれを見つけるには、フォルダー内のcntrl-hを使用してフォルダー内の隠しファイルを表示します。問題の原因となっているサブフォルダーに.gitフォルダーが表示されます。

1
Leigh Mathieson

私の場合、Herokuにデプロイするときにルートフォルダー(manage.pyがあるフォルダー)でgitリポジトリーを初期化しましたbeforeプロジェクトの親フォルダーでGitリポジトリーをセットアップします。

その後、プロジェクトの親フォルダーに新しいリポジトリを作成すると、モデルビューとコントローラーを処理するルートフォルダーがグレー表示されました。次は私のために働いた:

  1. 親フォルダーリポジトリを削除する
  2. 既存のリポジトリをインポートするため、新しいリポジトリを作成しますwithout「このリポジトリをREADMEで初期化する」をチェックします。
  3. ルートフォルダー内 manage.pyのあるフォルダーで、以下を実行します。

    git remote add Origin "github repo link"

    git Push -u Originマスター

  4. Githubリポジトリを更新すると、すべてのディレクトリが存在するはずです
0

既に.gitが含まれているため、灰色で表示されます。つまり、内部でgitが初期化されています。

0
nmal