I want to simulate forking (as GitHub does it) a repository.
Essentially I want a local copy of a repository that is already hosted on GitHub, that I can push to and use as the remote in a project I will develop.
I don't want to directly clone the GitHub repository, because I don't have push access. However, I do want a remote (the "fork") that I will have push access to, because I want to keep a copy of my source in a more central location
- in case anything happens to my development environment
- for when I switch development environments
I think the "fork" can be created with either
git clone --mirror https://github.com/user/repo
- or
git clone --bare https://github.com/user/repo
but I am not clear on the differences between --mirror
and --bare
: I don't know which to use. And there might be a better solution entirely.
Then when I have "forked" it, I would like to clone the "fork" to where I will actually do development.
What's the most sensible way to do this?