Creating a private fork of the "Magento + Gitpod" repository located at https://github.com/develodesign/magento-gitpod, follow these steps.
This process is necessary because GitHub does not permit direct private forking of public repositories.
1. Create a Bare Clone of the Repository : This creates a temporary bare clone of the repository. Perform this step in any directory on your computer, as this cloned folder will be removed later.
bash
$ git clone --bare https://github.com/develodesign/magento-gitpod
2. Create a New Private Repository on GitHub : Name this new repository as you prefer, relating it to your Magento + Gitpod project. If you're unable to create a private repository, consider applying for GitHub's Student Developer Pack for unlimited private repositories.
3. Mirror-Push the Bare Clone to Your New Repository : After creating your new private repository on GitHub, mirror-push the cloned content to this repository. Replace <user_name> with your GitHub username and <new_private_repo_name> with the name of your new repository.
Navigate to the cloned directory:
bash
$ cd magento-gitpod
.git
Then execute the mirror-push command:
bash
$ git push --mirror git@github.com:<user_name>/<new_private_repo_name>.git
4. Remove the Temporary Local Repository : Once you have successfully mirror-pushed the contents, you can remove the temporary local repository.
bash
cd .. rm -rf
magento-gitpod
.git
5. Clone Your New Repository Locally : To work on your project, clone the new private repository to your machine. Choose a directory where you wish to clone; for example, in a `code` folder:
bash
cd ~/workspace/new-magento-project
git clone git@github.com:<user_name>/<new_private_repo_name>
.git
6. Add the Original Repository as a Remote (Optional) : If you wish to stay updated with potential future changes from the original Magento + Gitpod repository, add it as a remote. Ensure you disable push to this remote to avoid accidental push attempts.
bash
git remote add gitpod-magento-upstream https://github.com/develodesign/magento-gitpod
git remote set-url --push gitpod-magento-upstream
DISABLE
Verify your remotes:
bash
$ git remote -v
You should see your repository as `origin` and the original Magento + Gitpod repository as `gitpod-magento-upstream`.
7. Fetch and Rebase from Upstream (Optional) : To incorporate changes from the original repository into your work, fetch from `upstream` and rebase.
bash
git fetch gitpod-magento-upstream
git rebase gitpod-magento-upstream
/master
By following these steps, you'll have successfully created a private fork of the Magento + Gitpod project, ready for personal or team development.
Thanks to the original Github private fork here https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274