1 - masteris the default git name for the main repository branch. It does not apply to the entire repository, but to one line of development. You do not need a separate working directory - the general idea of local git development is to work in the directory, commit changes to the repository, and then push them up as necessary.
2 - , , VPS. , VPS, "". , . - , , , , .
, , VPS . , git push git pull. , VPS, ,
git remote add origin <url-of-VPS-repo>
git config branch.master.remote origin
git config branch.master.merge = refs/heads/master
git , , ( VPS).