GIT has changed my life. It seems clear to me that I must better understand the full range of benefits it offers. I'm wondering if someone can help me understand how I might use it in the following context.
I have a git repo with many many files in it. This repo is very precious to me. I would like to collaborate with someone to work on the files in this repo without granting them access to the repo. I don't want to give them write access to the precious repo. We'll call that repo precious. In fact, I'd prefer they also didn't have direct read access or know where the repo actually lives.
So it seems to me that I must create another repo? Let's call this repo work_repo. This work_repo does not need the entire history of the precious repo. It just needs the latest files. There's no harm in this work_repo having the entire history of precious, though. I need to grant access to work_repo to my collaborator so that he can make changes. When these changes come back, I need to compare them to my working directory in precious to evaluate what changes have been made and whether or not to include them.
Can anyone suggest a good work process here? Can I get away with only one working directory on my workstation and switch it back and forth between precious and work_repo? Would that be accomplished by changing remotes? What happens when I stash changes?