2016-08-03 6 views
0

経由でプロジェクトに追加されたディレクトリを無視します:Gitのプッシュは、私は古典的なルーチンを実行するたびにgitのクローン

git add -A 
git commit -am "foo" 
git push remote branch 

Gitはgit cloneコマンドを使って追加されたファイルをアップロードしません。

たとえば、私はgithubから少しのプロジェクトをクローンし、モジュールとしてプロジェクトに組み込みました。しかし、git経由でサーバーにデプロイすると、ディレクトリ(フォルダ)しかアップロードされませんでしたが、内部のものは何もないので、フォルダは空でした。

どうすれば解決できますか?そのようなことはどうして起こりますか?

+0

ディレクトリを削除するgitinoreファイルがありますか? -Aで追加したときに、dirとそのファイルがステージとして表示されましたか? – DavidN

+1

お待ちください。既存のローカルレポの中に別のレポをクローンしましたか?もしそうなら、gitはそれらを無視します。その場合、サブモジュールを使用することがあります。 – DavidN

+0

@DavidN '.gitignore'ファイルはありません。 'git add -A && git status'を使用したとき、これらの2つのディレクトリは赤く塗りつぶされていて、sufixがありました。 – Kunok

答えて

0

gitリポジトリの下にあり、内部に別のものをクローンしている場合、gitは親から物を追加する際に内部のものを無視します。

基本的にgitは追加されたすべてのフォルダに.gitというフォルダがあるかどうかをチェックします。サブクローンされたフォルダから.gitフォルダを削除すると、手動でファイルをコピーしたかのようにそのフォルダを通常どおり追加できます。

これを解決する方法は、必要なものによって異なります。このサブクローンされたリポジトリを追跡し、それを取得して更新できるようにしたいですか?もしそうなら、あなたはgitのサブモジュールを見る必要があります。そうでない場合は、rm -rf .gitをクローンしてフォルダを追加してください。 もちろん、これらの2つのオプションはかなり悪いです。依存関係管理ツール(例:cocoapods、npmなど)の使用を検討する必要があります

+0

ええ、通常は 'npm'が好きですが、この特定のプラグインにはnpmなどはありませんでした。 'rm -rf .git'を使っても子ディレクトリは無視されます。 – Kunok

+0

'.git'を削除した後、' git reset HEAD subfolder'と 'git add subfolder'を試してみてください。今回はすべての内容が追加されます。 – txulu

関連する問題