git cloneしたsubmoduleを自分のリポジトリで管理する
git で、プロジェクトのリポジトリ内で、別の submodule をgit clone
などして、
更に、その submodule に変更を加えたりすると下記のような表示となり、
ファイルは変更されているけど、このファイルは submodule で他のリポジトリで管理されているファイルだからuntracked content
だよ、というようなメッセージが表示される事があります。
modified: something/file (modified content, untracked content)
この場合、この変更が特に必要ないものならば、
$ cd something/file
$ git checkout .
で変更をなかった事にすれば元には戻るのですが、
変更が必要なもので、今後は submodule を自分のリポジトリで管理していきたい場合は
.git
を削除する事で、submodule から外す事ができます。
※注意点としては、その submodule の License には十分気をつけなければいけない事と、その submodule は元リポジトリの管理から外れるので、以降は pull してこれない等があります。
$ git rm --cached something
$ rm -rf something/.git
これで、submodule をプレーンなファイルにして(.git を削除して)、自分のリポジトリ配下のファイルとなります。
参考: http://stackoverflow.com/questions/4161022/git-how-to-track-untracked-content