1

この質問に対する答えを見つけるのが難しいので、ここで質問します。

上記のバージョンの Git for Windows が Windows 7 Ultimate 64 ビットにインストールされています。

多数のサブフォルダーを持つ既存のフォルダーがあり、その多くのフォルダー名にスペースが含まれており、それらに含まれるファイルの多くにスペースが含まれています。最上位フォルダーを「プロジェクト」フォルダーにしたい。そのフォルダーで Git を初期化しました。

「git status」を実行すると、予期される「追跡されていないファイル」メッセージが表示されるので、「git add .」と入力します。

すべてのファイルが追跡のためにプロジェクトに追加されますが、サブフォルダーは追加されません。すべてのサブフォルダーを手動で追加した後 (うーん!)、何を試しても追加されない特定のサブフォルダーで壁にぶつかりました。フォルダー名にはスペースが含まれていますが、スペースを含む他のサブフォルダーを正常に追加しました。ただし、これを追加することはできません。フォルダ名は「_04_Spry Script Tests」です。

Google で多くの検索を行った後、多くの方法を試しました。これは、私が覚えているすべてのことのリストです。おそらく他にもありましたが、(悪いことに)私が試したすべてのインスタンスを文書化したわけではありません. 申し訳ありません。

git add .
git add "_04_Spry Script Tests"/.
git add "_04_Spry Script Tests/".
git add */.
git add "_04_Spry*"/.
git add "_04_Spry"*/.
find . -iname "*.*" | xargs git add
git add */\*.*
git add "_04_Spry Script Tests/"\*.*

誰でもこれで私を助けることができますか?私は何が間違っているか、欠けていますか?

「 git add 」と思いました。メインプロジェクトフォルダーの下にすべてを追加しました。私はそれを間違えましたか?

これについて私に支援を与えるために時間を割いてくれた人に前もって感謝します. それは私を悩ませている !=(

デン


@BrianCampbell からの質問への回答

こんにちはブライアン:

返信ありがとうございます。

はい、サブフォルダーにはファイルがあります。

いいえ、.gitignoreファイルにはフォルダー、フォルダー (ディレクトリ) の名前、またはその中のファイルに一致するパターンはありません。

サブフォルダーの 1 つのフォルダー ツリー (ルート フォルダーから) は次のとおりです。

_04_Spry Script Tests\Programs & Services
_04_Spry Script Tests\Programs & Services\SCfK
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\SCFK_Swim_Lessons_Program.jpg
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010\Swim Schedules
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\Swim Schedules\Spring 2010\Swim Schedules\Swim (Schedule) Spring 2010.pdf
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images\mock-up.jpg
_04_Spry Script Tests\Programs & Services\SCfK\Swim Academy\_images\SCFK_Swim_Lessons_Program.jpg

ルート (メイン プロジェクト) ディレクトリは_04_Spry Script Tests

他にも多くのサブフォルダーがあります。これは役に立ちますか?


編集: @BrianCampbell、もちろん、先ほど示した例は、例示のためにサンプルディレクトリをコピーするように依頼された、新しく初期化された Git フォルダーでテストしても問題は発生しません! *うーん!* どのサブフォルダーまたはファイルが問題になるかわかりません。それらはたくさんあります。ごめん。

4

1 に答える 1

1

そのフォルダに何かありますか?Git は実際にはフォルダー自体を追跡しません。ファイルのみを追跡し、フォルダーは実際にはファイル名のコンポーネントとしてのみ追跡されます。フォルダが空の場合、追加するものはありません。チェックアウト時に確実に作成したい場合は、フォルダに隠しファイルを追加できます。

または、.gitignore最上位のディレクトリ、またはそのレベルまでのサブディレクトリにファイルがありますか? そのディレクトリ名またはその中のすべてのファイルの名前に一致するパターンがありますか? その場合は、そのようなパターンを から削除する.gitignoregit add -f、 を無視して強制的に追加する必要があります.gitignore

これらの提案のどちらも役に立たない場合は、問題を再現するのに必要なだけディレクトリ ツリーを削除して (その 1 つのディレクトリだけにするか、問題を解決するためにできるだけ少なくするか)、ディレクトリ全体を表示してみてください。あなたの質問の構造?それは、問題の可能性を絞り込むのに役立ちます。持っている場合treeは、完全なディレクトリ構造の優れたリストが表示されます。そうでなければ、ls -lRそうします。

編集:確認することがいくつかあります。1 つには、ディレクトリ構造について少し混乱しています。ディレクトリはルートディレクトリですか_04_Spry Script Tests(ディレクトリが含まれています.gitか)? それともワンランクアップ?多くの例では を実行git add _04_Spry Script Testsしていましたが、それがルート ディレクトリである場合は、その中から実行する必要がありますgit add

確認すべきことの 1 つは、ネストされた Git リポジトリがあるかどうかです。これにより、問題が発生する可能性があります。.git複数のレベルにディレクトリがありますか? たとえば、ディレクトリの外部と内部に 1 つのディレクトリがあり、そのディレクトリを外部リポジトリに_04_Spry Script Tests追加しようとすると、問題が発生します。_04_Spry Script Tests

もう 1 つの質問は、実行するとどうなるかということgit addです。エラーが発生したり、何も出力されなかったりしますか? git add -vさらに情報を提供しますか?

を実行するgit statusと、これらのディレクトリに関する情報が表示されますか?

それでもうまくいかない場合は、次のコマンドの出力を表示してみてください。大量の出力が生成される場合は、問題のあるディレクトリを含む行だけにトリミングしても問題ありません。

git status -s
git ls-files -cs
git ls-files -io --exclude-standard
git ls-files -d
于 2012-11-08T03:43:33.593 に答える