GitHub フォルダに白い矢印が表示されます 質問する

GitHub フォルダに白い矢印が表示されます 質問する

最近、github にプッシュしたところ、フォルダーの 1 つに白い矢印が表示されました。

ここに画像の説明を入力してください

フォルダーをクリックしても開きません。ローカル マシンではコンテンツがありますが、github ではアクセスできません。これはどういう意味ですか?

ベストアンサー1

症状

.git/ローカルにそのフォルダーの下にサブフォルダーがあるかどうかを確認します。

原因

つまり、フォルダ(ローカル)はネストされた Git リポジトリ、そのツリーの SHA1 は「gitlink」(直線の白い矢印が付いた灰色のフォルダー)として記録されます。

するとGitHubで次のような画面が表示されますgitリンク: オブジェクトの SHA-1 は、空のフォルダー名で表される別のリポジトリ内のコミットを参照します。これはネストされた Git リポジトリです。

が表示されている場合はfolder @ xxxサブモジュールエントリつまり、自分のリポジトリ.gitmodulesには があり、gitlink に加えて、リモート リポジトリの実際の URL が記録されます。
これは、スーパー プロジェクトがネストされたサブモジュールの作業ディレクトリがあると想定しているコミットのオブジェクト名を表します。

どちらの場合も(フォルダ名が白い矢印、またはfolder @ xxxフォルダ名が白い矢印そしてバージョン 1.0 の場合、これはネストされた Git リポジトリを表す Gitlink です。つまり、別の Git リポジトリのプレースホルダーなので、空のフォルダーになります。ただし、2 番目のケースでは、その空のフォルダーは特別な.gitmodulesファイルで参照/表示されます。


解決策(白い矢印を削除する)

フォルダの内容を復元するには:

サブモジュール:

git clone --recurse-submodulesサブモジュールの内容をローカルリポジトリに復元します(ネストされたGitリポジトリとは異なり、URLはない記録され、フォルダの内容は空のままになります)

白い矢印はリモート リポジトリに残り、folder @ versionプロジェクトによって参照されているサブモジュール リポジトリの SHA1 が表示されます。

ネストされた Git リポジトリ:

あるいは、そのフォルダの履歴を気にしない場合は、.gitサブフォルダをローカルで削除することもできます(ない.gitmodulesサブモジュール (つまり、メイン リポジトリ内のファイルで参照されていないモジュール) を追加、コミット、プッシュします。
白い矢印が消え、GitHub でそのフォルダーの内容にアクセスできるようになります。

次に、gitlink エントリを削除する必要があります。

git rm --cache client_folder 
# without a trailing slash: 
# not client_folder/ but client_folder

最後に、そのフォルダーのコンテンツを追加、コミット、プッシュできます。

おすすめ記事