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 Lap
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