I would like to know the difference between repository and project because I am having a hard time setting a Solaris box with SSH access to be a repository for several projects I have. The thing is, I do a init --bare on a folder to hold a project. I make the changes, add, commit, push to the server and everything is OK. Now, that server is the same one that runs the java SE (cli) applications, so I want to be able to do a checkout to the working folder of the application of a tag, lets say v1.0. I make some updates, create tag v1.1, push updates. The thing is that with the --bare option I can't do a checkout of an specific tag, the only way to do a checkout with a --bare option is using checkout-index and I have no flexibility on what to checkout using checkout-index. If I create a repository without --bare, I cannot make push, I receive all type of errors, about NOT_AUTH, or NOT_ATTEMPTED, all kinds of error. I was looking on the internet for those errors and I get to use --bare option, but I get also errors when doing a checkout of a specific tag. I don't know what needs to be done to be able to create a repository, add projects to those repositories, and each project should have their own tag(v1.0, v.1.1, etc.) and I want to be able to clone a project, work on it, add a tag, upload via SSH to my server, then do a checkout of the current tag and that's it. I have been looking everywhere and there is no place that explain using Git as simple as I mention. I appreciate if someone can help me with this. Regards.