golang: How to go get
private repos
15 Sep 2014 in TIL
Recently, I've been working on some golang projects at DataSift that depend on some private modules. This means that when I run go get
to fetch the module, GitHub asks me for my username and password. Unfortunately, as I use 2FA I need to generate a new, temporary password for applications that want my password. As go get
doesn't cache credentials, I'd have to do this every time I needed a private repo. Instead, I wanted to force go get
to use my SSH key.
Fortunately, as go get
uses git
, you can change your .gitconfig
to force it to use SSH.
bash
$ cat ~/.gitconfiginsteadOf = https://github.com/
Here, we say use [email protected]
any time you'd use https://github.com
. This works for everything, not just go get
. It just has the nice side effect of using your SSH key any time you run go get
too.