Skip to content

Instantly share code, notes, and snippets.

@hirajanwin
Forked from 0xjac/private_fork.md
Created August 23, 2024 06:05
Show Gist options
  • Save hirajanwin/c0646742a4e6acf0534685fb97659c60 to your computer and use it in GitHub Desktop.
Save hirajanwin/c0646742a4e6acf0534685fb97659c60 to your computer and use it in GitHub Desktop.
Create a private fork of a public repository

The repository for the assignment is public and Github does not allow the creation of private forks for public repositories.

The correct way of creating a private frok by duplicating the repo is documented here

For this assignment the commands are:

  1. Create a bare clone of the repository. (This is temporary and will be removed so just do it wherever)

    git clone --bare [email protected]:usi-systems/easytrace.git
  2. Create a new repository on Github and name it easytrace.

  3. Mirror-push your bare clone to your new easytrace repository.

    Replace <your_username> with your actual Github username in the url below.

    cd easytrace.git
    git push --mirror [email protected]:<your_username>/easytrace.git
  4. Remove the temporary local repository you created in step 1.

    cd ..
    rm -rf easytrace.git
  5. You can now clone your easytrace repository on your machine (in my case in the code folder).

    cd ~/code
    git clone [email protected]:<your_username>/easytrace.git
  6. Make your easytrace repo available in your Vagrant VM by adding the following to your Vagrantfile

    Replace "~/code/easytrace" with your local path to the easytrace repo.

    config.vm.synced_folder "~/code/easytrace", "/easytrace"
    
  7. Reload your VM to enable the synced folder (in the folder containing your Vagrant file).

    vagrant reload 
  8. The easytrace repo is available at /easytrace once you ssh into the machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment