Go unkown reversion问题解决

文章目录

  • 1、出现问题
  • 2、是否git版本过低
  • 3、go get获取方式替换
  • 4、通过密钥登陆
    • 1、生成秘钥
      • 1、打开git shell
      • 2、生成私钥和公钥
      • 3、在gitLab中输入SSH key
      • 4、下载putty
      • 5、使用putty转换私钥
      • 6、指定使用密钥
    • 2、修改git为SSH方式
      • 1、查看git下载地址信息
      • 2、移除origin
      • 3、设置Origin
      • 4、允许无关历史记录
      • 5、设置分支关联
    • 3、去除passPhrase

1、出现问题

在运行本地go的main方法时出现了 "go gitlab.**** reading gitlab.****** at reversion v****:unkown reversion v******"
在这里插入图片描述

查看了网上的说法,大致问题出现在几个地方:

  • 1.git版本过低
  • 2.go get获取的方式和git获取不一样,可参考:Go 每日漫谈——Go Module 的一些坑

然后我试了上述两个方法都不行,于是试了一下在本地去下载需要的包(公司的私库),结果发现提示的登录账号和我的对不上,于是我就试了通过SSH密钥的方式去登录,结果发现可以下载。

2、是否git版本过低

在控制台输入 git version命令查看git版本
Go unkown reversion问题解决_第1张图片
正常来说2.21以上的版本都是没有问题的

3、go get获取方式替换

我们在idea控制台输入:git config --global url."[email protected]:".insteadOf "https://github.com/",注意这边的格式是:
git config --global url.“替换的地址”.insteadof “被替换的地址”
我们可以在C:\Users\admin.gitconfig 中看到我们替换的内容
在这里插入图片描述

这个替换的地址是我们的工程的地址,把https 换成 git 方式.不要写错地址了
如果还是不行的话就按照下面的方式处理

4、通过密钥登陆

可参考:使用git实现免密操作、TortoiseGit实现SSH免密码操作

1、生成秘钥

1、打开git shell

在我们的git工程目录下(其他目录也可以),右击空白处,选择git Bash Here
Go unkown reversion问题解决_第2张图片
打开git shell面板:
Go unkown reversion问题解决_第3张图片

2、生成私钥和公钥

在git Shell界面中输入ssh-keygen命令,使用默认的生成位置,但是一定要记住输入密码(好像git不输入密码会被锁定掉).,这个密码就是后面要用到的passphrase
Go unkown reversion问题解决_第4张图片
如上提示就是生成成功了。我们可以到C:\Users\admin.ssh目录下查看:
Go unkown reversion问题解决_第5张图片

3、在gitLab中输入SSH key

id_rsa.pub中的内容复制到Key下面的文本框,title任意或者他会自动生成。点击gitlab的头像出现setting可以进入到设置界面
Go unkown reversion问题解决_第6张图片

Go unkown reversion问题解决_第7张图片

4、下载putty

下载地址:下载地址
下载msi文件进行安装

Go unkown reversion问题解决_第8张图片

5、使用putty转换私钥

打开puttygen.exe
Go unkown reversion问题解决_第9张图片
通过puttygenload 加载我们刚才生成的私钥文件id_rsa,然后点击save private key
Go unkown reversion问题解决_第10张图片

生成的文件命名后缀为**.ppk**
Go unkown reversion问题解决_第11张图片

6、指定使用密钥

点击同目录下的pagement.exe,选择add key把我们刚才的ppk文件添加进来即可
Go unkown reversion问题解决_第12张图片

2、修改git为SSH方式

如果项目原来下载下来是通过http的方式下载,那么这边就需要修改成ssh的方式,如果还没有下载就没关系

1、查看git下载地址信息

在idea控制台输入:** git config -l ** 查看,如果出现https开头的就是https方式
Go unkown reversion问题解决_第13张图片

2、移除origin

在idea控制台输入命令:git remote remove origin,移除

3、设置Origin

在idea控制台输入:git remote add origin [SSH地址] ,进行设置,这个时候输入的是SSH地址,不要输错了

4、允许无关历史记录

在idea控制台输入:allow-unrelated-histories,这个时候通常会叫你输入passPhrase,如果我们上面生成ssh key的时候没有设置passPhrase,就会叫你输入密码,我尝试了几次都不会,所以还是使用passPhrase的方式好一点

5、设置分支关联

这边设置分支的话,可以先查看一下remote是什么,一般是orgin。命令是:git remote
在这里插入图片描述

而后输入命令:git branch --set-upstream-to=origin/[分支名] [分支名]
比如我这边输入的就是git branch --set-upstream-to=origin/huangzj_test huangzj_test

然后就可以通过ssh的方式来下载和提交了

3、去除passPhrase

有的时候我们的一些操作需要通过go get来获取git地址,如果需要输入passPhrase的话,这边没有找到对应的命令,所以这边提供一个方式就是把passPhrase去除掉
命令是:ssh-keygen -p。具体操作如下
Go unkown reversion问题解决_第14张图片

你可能感兴趣的:(GO实践与问题解决,Git问题解决)