9

Git ステージング エリアから出られないファイル/フォルダーをいくつか持っていますか?

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   JavaScript/Stand.ard.iz.er (modified content, untracked content)
#   modified:   Site (untracked content)
#   modified:   Template Archives/Template (modified content, untracked content)
#   modified:   Template Archives/Template_Git (modified content, untracked content)
#

これらの「変更された」ファイルをコミットするためにあらゆることを試みましたが、うまくいきませんか?

私はもう試した...

git add .
git add *
git add -u
git add {actual full directory path}

...しかし、どれも機能しません。

何か案は?

ありがとう。

4

2 に答える 2

14

それらはsubmodulesである可能性があり、その場合、それらのステータスは親リポジトリのステータスから表示されます。

つまり、git status--ignore-submodules[=<when>]のオプションを使用しない限り:

変更を探すときに、サブモジュールへの変更を無視します。" "、" "、" "、または " " (デフォルト) の
<when>いずれかです。noneuntrackeddirtyall

  • " none" を使用すると、追跡されていないファイルまたは変更されたファイルが含まれているかHEAD、スーパープロジェクトに記録されたコミットとは異なる場合にサブモジュールが変更されたと見なされ、git-configまたはの無視オプションの設定を上書きするために使用できますgitmodules
  • " untracked" が使用されている場合、追跡されていないコンテンツしか含まれていない場合、サブモジュールはダーティとは見なされません (ただし、変更されたコンテンツについては引き続きスキャンされます)。
  • " dirty" を使用すると、サブモジュールの作業ツリーへのすべての変更が無視され、スーパープロジェクトに保存されているコミットへの変更のみが表示されます (これは 1.7.0 より前の動作でした)。
  • " all" を使用すると、サブモジュールへのすべての変更が非表示になります (およびconfig option status.submodulesummaryが設定されている場合は、サブモジュールの概要の出力が抑制されます)。

いずれにせよ、1 レベル (親リポジトリ レベル) に移動してクリーン ステータスを確認するには、サブモジュール自体に追加してコミットする必要があります。

于 2011-03-03T20:57:22.023 に答える
11

これは、内部に既に .git フォルダーがある新しいフォルダーをプロジェクトにコピーした場合に発生する可能性があります。したがって、メイン リポジトリのサブ リポジトリのようになります。解決策は、コピーした新しいサブフォルダーにあるこの .git フォルダーを削除するだけです。

于 2011-03-08T02:12:54.697 に答える