2011-05-23 14 views
2

gitは空のディレクトリを保持しないので、これは奇妙なことです。ディレクトリが既に追加されているときにgitにファイルを追加する

git add directory 
git commit 

directoryで、私も追加したいファイルは、ありますが、その一部のみ:これは私がやったことです。ただし、ファイルが追加されていないため、今追加することはできません。

リポジトリを別の場所に複製すると、directoryが空であることがわかります。

私はこのようにgitのためにdirectoryにファイルを追加しよう:

git add directory/file 

私はどのように私はこのファイルを追加することができ、エラーにfatal: Path 'directory/file' is in submodule 'directory'

を取得しますか?

答えて

5

これは空のディレクトリではありません。これはサブモジュールです。それらを処理する方法についてはProGit: Submodulesman git-submouleをお読みください。

特に:あなたはサブモジュールでリポジトリのクローンを作成する場合は前述のように、あなたも

# git clone ... 
git submodule init 
git submodule update 
0

をサブモジュールを初期化する必要があり、これはサブモジュールです。空のディレクトリは、包含する(親)リポジトリにある必要があります。サブモジュールには独自のクローンURLがあります。クローンで

、問題

git submodule update --init 

そして、あなたは

+1

(あなたがサブモジュールのクローンURLへのアクセスを持って提供)行ってもいいです、私は "としてリポジトリを参照するために混乱だと思いますgitのメインブランチの標準的な使い方を考えてみましょう:)また、クローンされたリポジトリで 'git submodule update --init'を実行する必要があります。そうしないと、サブモジュールが初期化されていないというエラーが表示されます。 –

+0

ああ、私はinitを覚えておくほど頻繁ではありません。私はそれが 'update'が毎回私に教えてくれるものだと確信しています:) – sehe

関連する問題