Hello There!
The most common method for multiple users is for each of them to run their own local workstation. They can set up the workstation in the same manner you did or however they wish.
Here is a great guide on setting up a chef workstation if you do not have one you prefer to use:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-chef-12-configuration-management-system-on-ubuntu-14-04-servers#configure-a-chef-workstation
To give them access to your Chef server, you will want to create a user on the Chef server. The command will look something like this:
chef-server-ctl user-create username FirstName LastName email@address 'password' -f username.pem
You will want to change username, FirstName, LastName, email@address, and password to whatever values you wish to use for the user. This will create a user on the chef server to access it. The .pem file created will be the one you want to provide them for access to the server. This .pem file will be located in the directory you are working in.
You can share it with them however you wish, if they have SSH access to the Chef server, you could place it in their home folder; then have them log in to get it
Then you will want to add them to the organization you are using with the following:
chef-server-ctl org-user-add organizationName username
If you want them to be an admin, you will want to tag '--admin' onto the end of that as an argument.
As for your second question, I'm not sure I understand what you mean, can you be more specific? If they are cloning a repository they would share the files that everyone who clones it has. If one user updates the repository, they can push their changes and then the others can pull those later.
Perhaps I don't understand your question though, so if you could clarify that would be great :)