• 解决git仓库从http转为ssh所要处理的问题


    引言

     为了方便,一般我们克隆仓库的时候会选择http或者https协议

    git clone https://github.com/Name/project

    然后,每次git pull 的时候都要求输入密码,为了方便推拉代码,更好的做法就是使用ssh

    解决办法

     1.确定你的git已设置用户名和邮箱

    git config --global user.name "YourName"
    git config --global user.email "email@mail.com"

    2.查看你的home目录下是否已经生成过ssh-key

    ll ~/.ssh

    如果目录不存在或者没有看到id_rsa和id_rsa.pub这两个文件(注:id_rsa为默认创建名字)

    新建一个ssh-key

    ssh-keygen -t rsa -C "email@mail.com"

    注:请确保email地址相同

    3.向你的远程git仓库加入你的公钥(注:gitea、gitlab、github一般在用户的设置页面添加,如果远程是通过git init初始化的项目,请追加到远程机器的~/.ssh/authorized_keys 文件中)

    cat .~/ssh/id_rsa.pub

    4.转换本地连接远程git的地址(注:这也是git clone http://xxx.com和git clone git@xxx.com的区别,使用本方法节省删除文件以及从新克隆的时间)

    在你git clone项目后,只需将.git/config文件中

    url = http://xxx.com/Name/project.git

    改为

    url = git@xxx.com/Name/project.git

    即可。

    5.测试你的ssh-key

    ssh -T git@xxx.com
  • 相关阅读:
    ES6学习笔记(七)-对象扩展
    ES6学习笔记(四)-数值扩展
    ES6学习笔记(三)-正则扩展
    ES6学习笔记(二)-字符串的扩展
    ES6学习笔记(一)-变量的解构赋值
    webpack打包踩坑之TypeError: Cannot read property 'bindings' of null
    CSS之Flex 布局
    iscsi
    DHCP
    DNS
  • 原文地址:https://www.cnblogs.com/lusecond/p/7607198.html
Copyright © 2020-2023  润新知