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