ファイルをgithubにプッシュしたときに灰色のアイコンが表示される理由を教えてください。アプリディレクトリの横には、モデル、ビュー、コントローラーがありますが、リモートGitHubにはクリックできません。
サブモジュールを作成し、到達不能なリモートロケーションを指しているようです。
この回答 を参照してください。そのアイコンは、緑色の場合、サブモジュールを指します。サブモジュールが正しく構成されていないため、あなたのケースではグレー表示されていると思います。
.gitmodules
が存在しない場合、それは削除されている必要があり、サブモジュールにはリモート情報がありません。
app
に移動してgit remote -v
と入力すると、このモジュールが指している場所も表示されます。この場所は現在到達不能です。
同様のシナリオで、サブモジュールを追加し、.gitmodules
を削除しました。 GitHubの結果は次のようになります。
git rm --cached <folder_name>
次に、親ディレクトリに移動して以下を実行します。
git add .
git commit -m "<your_message>"
git Push --all
フォルダー内でgitを初期化したようです。サブフォルダーからgitファイル(rm -rf)を削除し、新しいリポジトリを作成してgitを再初期化します。
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
Appディレクトリ内で既にgitを初期化しているため、リモートが見つかりません。 アプリ内の.gitファイルを削除します。。
[app(master)]$ Sudo rm -r .git
または、フォルダ内の隠しファイルを表示して、手動で実行します。次に、親フォルダーの変更を再コミットおよび再プッシュします
私が見つけた最も簡単な方法は、ローカルからフォルダーを削除し、リモートリポジトリを更新することです。ローカルディレクトリに移動し、誤って設定された.gitサブフォルダーを含むフォルダーを別の場所(ローカルリポジトリの外部(デスクトップなど))にカットして、問題を修正して後でコピーしてから実行します:
git submodule update
git add --all
git commit --all
git Push
これにより、リモートリポジトリでグレー表示されているフォルダーが削除されます。次に、ローカルファイルにフォルダーを再度コピーし、上記のようにadd --all commit --all git Pushを実行します。同じ問題を回避するために、サブフォルダーから誤って設定された.gitフォルダーを事前に削除してください。再び; Linuxシステムでこれを見つけるには、フォルダー内のcntrl-hを使用してフォルダー内の隠しファイルを表示します。問題の原因となっているサブフォルダーに.gitフォルダーが表示されます。
私の場合、Herokuにデプロイするときにルートフォルダー(manage.pyがあるフォルダー)でgitリポジトリーを初期化しましたbeforeプロジェクトの親フォルダーでGitリポジトリーをセットアップします。
その後、プロジェクトの親フォルダーに新しいリポジトリを作成すると、モデルビューとコントローラーを処理するルートフォルダーがグレー表示されました。次は私のために働いた:
ルートフォルダー内 manage.pyのあるフォルダーで、以下を実行します。
git remote add Origin "github repo link"
git Push -u Originマスター
既に.gitが含まれているため、灰色で表示されます。つまり、内部でgitが初期化されています。