git满足多平台(github、gitlab、gitee)项目的配置

文章介绍了如何处理在Git中为不同平台(如gitlab和github)配置多个密钥,强调了config文件中Host和HostName的一致性对成功拉取项目的重要性。作者分享了遇到的坑和解决方法,包括为每个平台生成不同的密钥,将密钥文件放在.ssh目录下,并正确配置config文件。
摘要由CSDN通过智能技术生成

写在前面:本文主要记录一些本人遇到的头疼的问题,对于同一个git拉取不同平台项目的文章网络上已经很成熟,可自行搜索参考。

单平台与多平台的区别

对于单平台而言,只需要按照一般的步骤,生成密钥,并且将公钥与平台绑定。

对于多平台而言,需要给每个平台都生成密钥,并且上传(绑定)到对应的平台,并且需要通过config文件来联系这些密钥文件,具体步骤如下:

注意:之前有过git使用记录的,需要删除之前的一些配置(无需担心会影响拉取下来的项目,并不会影响~~。个人认为貌似不删除也可以,具体没试过,具体的一些删除可以搜索)

1、任意位置(最好新建文件夹),右键,git bash,生成密钥

ssh-keygen -t rsa -C "xxx@xxx.com" 	(这里的xxx@xxx.com是你的账号邮箱)

注意: 这个时候不要急着回车,因为需要给文件命名

对于不同的平台给出不同的命名
随后会生成如下文件:

其中.pub就是生成的公钥,需要上传到对应平台的ssh(自行搜索)。

2、将这些文件copy到用户的.ssh文件下

3、在.ssh文件夹下创建config.txt文件,加入如下内容后修改后缀名(删除后缀名,即config.txt → config)

# gitlab
    Host gitlab                            //别名!!!很重要,我下面要着重说!!!
    HostName gitlab.com                    //平台的域名(ip也可以,公司内部的域名应该不一样)
    IdentityFile ~/.ssh/id_rsa_gitlab      //映射到密钥文件
    User xxx          //没啥作用

# github
    Host github
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_github
    User xxx

注意:xdm,他娘的,我在这边栽了大坑。网上基本没人说这个点。

我们的目的:一个用户(主机)的git可以clone、push不同平台的项目。在公司的时候基本都是用的gitlab,但是摸…自我学习提升的时候,我们需要clone一下github或者gitee上面的项目来看看。如下图:
在这里插入图片描述
我就拿我最常用的ssh来举例(我写文章的时候,github上不去了,我就直接截取的gitlab的界面)

图中红色方框中的内容,是平台的域名(上面是我公司的域名)它关联到了上面配置的config文件中的Host别名,没错就是我上面说我要着重讲的那个配置属性,所以当你配置了其他的名称的时候,拉取项目就会出错!!!因为origin匹配不上了,会出现如下链接的问题:
fatal问题

所以我就按照上面的提示进行eval以及ssh-add,虽然紧接着进行clone也是可以的,但是idea无法拉取提交项目。我也以为是初始化的问题,因为每次使用git都要进行上面的操作,所以我还写了.bashrc文件,终究解决不了问题。

所以这边强烈建议:config中的Host和Host Name保持一致!!!!

写到这边突然也没那么气了,他娘的浪费了我俩小时,哈哈,所以后面我就不写了,反正网上都有,我主要记录一下自己的问题,希望能够帮助到遇到同样问题的小伙伴。
over~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值