I created the private repo examplesite/myprivaterepo using the Github UI from my browser.
Then I went to my go directory (on the desktop) and cloned it:
$ cd $GOPATH
$ go get github.com/examplesite/myprivaterepo
So far so good. Created the file scheduler.go, added to repo, and pushed.
$ vim scheduler.go
$ git add scheduler.go
$ git commit
$ git push
Everythng's OK. But when I went to a clean laptop and tried to clone the repo, I got an error:
# Now on laptop, which doesn't yet know about the repo
$ cd $GOPATH
$ go get github.com/examplesite/myprivaterepo
# At this point it should ask for my user ID and password ,right? But it doesn't.
# Instead, this error occurs:
cd .; git clone https://github.com/examplesite/myprivaterepo /Users/tom/go/src/github.com/examplesite/myprivaterepo
Cloning into '/Users/tom/go/src/github.com/examplesite/myprivaterepo'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
package github.com/examplesite/myprivaterepo: exit status 128
Why is my laptop hating on my own repo and how can I get it to accept its fate? Thanks.
I found this extremely helpful, and it solved my problem. This command will allow your 2FA to do its thing (and save you the trouble of entering your username and password):
git config --global --add url."[email protected]:".insteadOf "https://github.com/"
Source: http://albertech.blogspot.com/2016/11/fix-git-error-could-not-read-username.html
If you're not using 2FA, you can still use SSH and this will work.
Edit: added the --add
flag as suggested by slatunje.