не может добавить каталог, содержащий git cloned subdiretories?

I have a `directoryA` which contains sub directories which I created via `git clone`

I want to create a git repository for the `directoryA`.  

But when I do `git add -A && git commit -m "w"` nothing gets committed. 

Нужно ли уделить особое внимание работе с  `git-клонированными подкаталогами` ?

`directoryA` is my special directory for collection of libraries I use for my project. 

То, что вы создаете, - это неинициализированные подмодули, и да, подмодули требуют некоторой специальной обработки, чтобы эффективно использовать их.

Как только подмодуль инициализируется, вы сможете зафиксировать подкаталог, в котором он живет, из родительского проекта.

Субмодули выходят за рамки основного git с немного большей кривой обучения, но как только они поняли, хорошо служат своей цели и хорошо сочетаются с остальными git.

То, что делает обработку специальных подмодулей, можно суммировать в нескольких ключевых понятиях:

* Субмодулы должны быть инициализированы до того, как родительский репозиторий узнает о них.
* Подмодули должны быть клонированы, обновлены и заработаны специально, хотя есть опции команд, которые автоматизируют некоторые из этих.
* Субмодули - это полные репозитории с одной проверкой фиксации; как таковые, они без головы и ветвь должна быть создана до того, как могут быть совершены какие-либо изменения.
* Любые изменения в подмодулях следует сначала проверять перед внесением изменений в родительский репозиторий. Родительское обновление подмодуля на самом деле является обновлением того, какой из подмодулей фиксирует родительский факт.

Вот несколько ссылок, которые были очень полезны для меня, когда мне нужно было окунуться в подмодули, что было весьма полезно для отслеживания различных частей моих проектов.

>   [Git Tools - SubModules](https://git-scm.com/book/en/Git-Tools-Submodules)  
> 
> 
>   
>     [Git Submodules: добавление, использование, Удаление, обновление](https://chrisjean.com/2009/04/20/git-submodules-adding-using-removing-and-updating/)  
> 
> 
>   
>     [Понимание подмодулей Git](http://speirs.org/blog/2009/5/11/understanding-git-submodules.html)  
> 
> 



В общем случае  `git`  не позволяет иметь один репозиторий git в подкаталоге другого.

Единственным исключением из этого правила является использование  [git-подмодулей](https://git-scm.com/book/en/Git-Tools-Submodules) . Однако у этого есть много других последствий, которые вам могут не нравиться. Например, родительский git-репозиторий должен отслеживать, на каком конкретном компиляторе id должен быть извлечен. Если вы добавляете новый материал в субмодуль - локально или вытаскиваете его извне, вы также должны изменить состояние родительского репо и создать еще одну фиксацию для отражения состояния субмодуля.

Чтобы решить эти проблемы, проект Android создал другой способ решения этих проблем, а именно:  [< код> репо](https://source.android.com/source/version-control.html) . Хотя  `repo`  используется в основном проектами Android, это очень общий механизм, который можно использовать для любых других целей.

`repo` relies on [xml](/tag5797) file called manifest (it lives in small git repository of its own). Manifest defines where all git repositories that define the whole project are checked out and at what revisions and branches. It is very powerful mechanism. The only limitation of repo is that it does not support Windows because it requires to use symbolic links (but Linux and Mac are supported very well).