web-dev-qa-db-ja.com

Gitはすべてのサブディレクトリを追加します

フォルダーとそのすべてのサブディレクトリーをgitリポジトリーに追加するのに問題があります。私はこれがいくつかのグーグルを行った後、非常に人気のある質問であることに気付き、私は運のない各提案、特に git-addのmanページ からの提案を試みました。私もgit add -Aを試してみましたが成功しませんでした。簡単にするために、gitリポジトリをDir1として初期化したとします。次に、次のファイルのディレクトリ構造があります。

Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt

私の実際のファイルには5〜6レベルの深さのサブディレクトリがあります。各サブディレクトリ内のすべてのファイルをリポジトリに追加するgitコマンドはありますか?現時点では、マニュアルページから提案を行うと、git add Dir1/\*リポジトリにDir2が表示されますが、緑色のフォルダーとして表示され、開くことができません。 Dir2内のすべてのファイル/フォルダーが追加されなかったこと。どんな助けも大歓迎です。私は新しいgitユーザーです(使用してから1週間以内)ので、初心者レベルで指示を保持してください。

68
Josh Bradley

行う、

git add .

リポジトリのルートにいる間。すべて追加されます。 git add *を実行すると、*が指すファイルのみが追加されます。単一のドットはディレクトリを指します。

上記のコマンドを実行してもディレクトリまたはファイルがgit index/repoに追加されなかった場合は、 。gitignore fileでgitによって無視されるようにマークされているかどうかを忘れずに確認してください。

93
Kalle Pokki

サブディレクトリ自体がgitリポジトリである場合、つまり.gitディレクトリがある場合、ls -aで確認することもできます。

削除するには、サブディレクトリとrm .git -rfに移動します。

11
PaulB

シンプルなソリューション:

git rm --cached directory
git add directory
9
ngCourse

苦労しましたが、正しく入力しました

git add -f ./JS/*

ここで、JSはサブフォルダとファイルを含む私のフォルダ名でした

5
Ian Wright

これが当てはまるかどうかはわかりませんが、いくつかのサブディレクトリに.gitignoreファイルがあったのが問題だったようです。繰り返しますが、私はこれを保証することはできませんが、これらが削除された後にすべてが機能しました。

1
Adam Ruhl

最も可能性の高い.gitignoreファイルsが動作しています。 .gitignoreファイルは、リポジトリのルートレベルだけでなく、任意のサブレベルでも表示されることに注意してください。あなたはそれらを見つけるためにルートレベルからこれを試すかもしれません:

見つける 。 -name ".gitignore"

次に、結果を調べて、サブディレクトリの追加を妨げている可能性があるものを確認します。

関係するサブモジュールもあります。問題のあるディレクトリで「.gitmodules」ファイルを確認します。

0
samato

この問題は、追加しようとしていた(サブ)フォルダーの名前が「_Something_」で始まっていたときに以前見ました。

アンダースコアを削除し、機能しました。問題の原因となっている可能性のある文字がフォルダーに含まれているかどうかを確認します。

0
Ash Kumar