I have local copies of a GitHub repo on Laptop and Desktop. The Desktop is ahead of the Laptop and the remote GitHub origin
. I want to pull changes onto the Laptop, but don't want to push to the public origin
. How do I set up a USB stick/external HDD as a remote?
Plug the USB drive into Desktop, and assuming it's showing up as J:
Initialise a bare repo that will act as the remote:
git init --bare J:\repo_name
cd
to the local repo and:
git remote add usb J:\repo_name
git checkout master
git push usb master
The master
branch is synced with the usb
remote. Now plug the USB drive into Laptop, and assuming it's showing up as D:
git remote add usb D:\repo_name
git checkout master
git pull usb master
If you're trying to pull a branch that doesn't exist on Laptop but does on Desktop, you can just do git checkout the_branch
and it will automatically pull it from usb
(unless the_branch
also exists in origin
, in which case you have to do git checkout -b the_branch usb\the_branch
)
You might have to git fetch
if it doesn't find the remote usb branch.
If, later, you plug in the USB drive and it shows up as a different letter, e.g., K:
, then do:
git remote set-url usb K:\repo_name