I have it like that. Been working OK since for a while (I actually have a fork of cocos2d that I include - which means I can have my own local alterations/patches in my cocos repo separate from my main project).
My main project then includes the cocos2d project and depends on the library. Took a while to get the include paths setup properly - this is what mine look like for having cocos2d repo in a sub-folder - 'project name'/Libraries/cocos2d
[last entry is for other non-cocos libraries]
Not been through any major cocos updates since I got it all working though - just a few minor patches I've pulled down through the fork and into the project. I'm using Tower git client for convenience and because I like a good GUI, but command line would work - just that submodules need you to remember to do more: and note that cocos2d itself has a bunch of submodules....