一尘不染

go get results in 'terminal prompts disabled' error for github private repo

go

我使用浏览器中的 Github UI 创建了私有仓库 examplesite/myprivaterepo。

然后我转到我的 go 目录(在桌面上)并克隆它:

$ cd $GOPATH
$ go get github.com/examplesite/myprivaterepo

到现在为止还挺好。创建文件 scheduler.go,添加到 repo 并推送。

$ vim scheduler.go
$ git add scheduler.go
$ git commit
$ git push

一切正常。但是当我找到一台干净的笔记本电脑并尝试克隆 repo 时,出现错误:

# 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

为什么我的笔记本电脑讨厌我自己的回购,我怎样才能让它接受它的命运?谢谢。


阅读 302

收藏
2021-10-28

共2个答案

一尘不染

我发现这非常有帮助,它解决了我的问题。此命令将允许您的 2FA 执行其操作(并省去您输入用户名和密码的麻烦):

git config --global --add url."git@github.com:".insteadOf "https://github.com/"
2021-10-28
一尘不染

go get 默认禁用“终端提示”。这可以通过设置 git 的环境变量来更改:

env GIT_TERMINAL_PROMPT=1 go get github.com/examplesite/myprivaterepo
2021-10-28