I work in a team of 6 devs on a git project and we use the following steps which works well for us:
Clone your new project repo on your local sever
inside the your newly cloned local repo run the composer install.
add a .gitignore to stop vendor/ getting committed.
commit everything (including composer files)
When other devs checkout the repo they just have to run composer install inside their new local copy and all their dependencies will get downloaded.
I tend to download composer into each project I am working on instead of running composer globally, that way my composer.phar file is inside the repo too, but each to their own. I think it’s important to keep the composer.json file in the repo so that you can version control your app dependencies.