侧边栏壁纸
  • 累计撰写 45 篇文章
  • 累计创建 87 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Git多账户配置

Even
2022-09-02 / 0 评论 / 0 点赞 / 580 阅读 / 3825 字

Git多账户配置

git多账户配置

  • 清除 git 的全局设置

    # 查看你是否设置
    git config --global --l
    
    git config --global --unset [user.name](<http://user.name/>) "你的名字"
    git config --global --unset user.email "你的邮箱"
    
  • 生成新的 SSH keys

    a:配置第一个gitee

    ssh-keygen -t rsa -C "账号1邮箱地址"
    或者 ssh-keygen -f ~/.ssh/文件名称
    直接回车3下,什么也不要输入,就是默认没有密码,不报错就是正确的。
    

    b:生成第二个账号的密钥

    输入 ssh-keygen -t rsa -C "账号2邮箱地址"  
    回车后,要先输如第二个账号密钥的文件名以区分第一次生成的秘钥名,
    后再连续2次回车,例如输入:smalldemons 。
    此时在你的C/Users/xxx/.ssh目录下就会又增加两个文件:smalldemons、smalldemons.pub,
    
  • 配置config文件

    • .ssh/config文件内容

      #配置账号1
      Host [1.gitee.com](<http://1.gitee.com/>)
      HostName [gitee.com](<http://gitee.com/>)
      IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa # win
      或 
      IdentityFile ~/.ssh/id_rsa # linux
      PreferredAuthentications publickey
      User ztzy
      
      #配置账号2
      Host [2.gitee.com](<http://2.gitee.com/>)
      HostName [gitee.com](<http://gitee.com/>)
      IdentityFile C:\\Users\\Administrator\\.ssh\\smalldemons
      PreferredAuthentications publickey
      User printzy
      
    • IdentityFile命令生成(推荐)

       # linux
      git config core.sshCommand "ssh -i C:\\Users\\Administrator\\.ssh\\id_rsa" # win
      git config [--global] core.sshCommand "ssh -i /path/to/your/privateKey"
      
    • 配置文件参数说明

      Host : 每个Host要取一个别名,每个Host主要配置HostName和IdentityFile即可
      HostName : 要登录主机的主机名
      User : 登录名
      IdentityFile : 指明上面User对应的identityFile路径,这里用的相对路径
      
  • 分别测试两个账号

    ssh -T [git@](<mailto:git@1.gitee.com>)1.gitee.com
    ssh -T [git@](<mailto:git@2.gitee.com>)2.gitee.com
    # 结果只要看到自己码云上的名字了,就说明成功了
    # Hi sky! You've successfully authenticated, but GitHub does not provide shell access.
    
  • 克隆项目

    git clone [git@](<mailto:git@1.gitee.com>)**1.gitee.com**:XXX/XXXX.git
    
    # **1.gitee.com**为**config**中设置的Host也就是别名
    
    #克隆以后就可以进行增删改推送了
    git add .
    git commit -m "first"
    git push -u origin master
    
  • 配置用户名和邮箱

    git config [user.name](<http://user.name/>) "xx"
    git config user.email "[xx@xx.com](<mailto:xx@xx.com>)"
    git config --list   (查看配置)
    
  • 问题

    1、测试的时候提示:gitee  Permission denied (publickey).
    是因为你的ssh -T git@1.gitee.com中@后面的内容和配置的HOST名字不一致
    
    2、The authenticity of host '[gitee.com](<http://gitee.com/>) (212.64.62.183)' can't be established:
    是因为文件夹内少了一个known_hosts文件,本来密钥文件应该是三个,现在只有两个,便报了这样的错误,
    此时输入yes回车之后,生成了缺少了的known_hosts文件,便可解决这个问题。
    
  • 已有项目完整流程

    # 删除原有git
    rm -rf .git
    
    # 设置rsa
    git config core.sshCommand "ssh -i ~/.ssh/id_rsa" # linux
    # git config core.sshCommand "ssh -i C:\\Users\\Administrator\\.ssh\\id_rsa" # win
    
    # 添加到暂存区
    git add .
    
    # 提交
    git commit -m "init"
    
    # 关联远程仓库
    git remote add origin 仓库地址
    
    # 推送至远端
    git push -u origin master
    

windows下配置多个gitee账户(此例2个gitee账号)

0
git

评论区