Git安装配置

初始化配置

  1. Windows可以直接从官网下载安装

    Linux可以直接使用yum install git安装,也可以使用源码安装

    yum remove git -y
    
    # 安装编译依赖
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
    
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
    tar zxvf git-2.9.5.tar.gz
    cd git-2.9.5
    
    ./configure --prefix=/usr/local/git/
    make && make install
    

    然后在 git bash 中配置全局的 nameemail

$ git config --global user.name "name"
$ git config --global user.email xxx@xx.com
  1. 生成公钥
$ ssh-keygen -t rsa -C 'xxx@xx.com'

rsa 为密钥的类型

在生成公钥过程中需要Enter三次,第一次可以自定义生成的文件的位置,也可以采用默认的路径(用户目录 .ssh 下);

接着是输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),当然,你也可以不输入密码,直接按回车(这样push的时候就不需要输入密码,直接提交到github上了);

最后windows下默认会会在用户目录 .ssh 下生成 id_rsaid_rsa.pub 文件

  1. GithubGitlab上传密钥,setting中找到ssh并添加把第二步中生成的id_rsa.pub中的内容粘贴;title随意,不过最好能够区分不同的机器。
  2. 在git bash中测试,测试后会在.ssh 目录下的known_hosts文件中记录访问过的公钥,主要是防止DNS攻击。
$ ssh-keygen -T rsa -C 'xxx@xx.com'
$ ssh-keygen -v rsa -C 'xxx@xx.com' # debug模式可以查看哪一步出错,一般rsa -C可以省去

问题

  1. 私服的git地址、端口等配置,也可以在这个config文件中配置多个(eg:公司的私服和自己Github)

新建config文件,可以配置自己服务器的IP、端口、公钥的位置。

Host xx.xx.xx.xx
Uset xxx@xx.com
Port 22
IdentityFile ~/.ssh/id_rsa

也可以直接以ssh的形式并指定端口,配置某个本地仓库的连接信息:

git remote set-url origin ssh://git@domain.com:3022/~/Projects/p1.git

也可以用https的形式配置某个本地仓库的连接信息(这样就不用端口信息了)

git remote set-url origin https://github.com/Projects/p1.git

不过还是推荐使用config文件的形式

  1. 连接Github时Host Key Verification Failed

路径下C:\Users(yourname).ssh 只有两个文件: id_rsa 、 id_rsa.pub;而没有文件known_hosts

使用 ssh-keyscan -H github.com >> ~/.ssh/known_hosts 生成known_hosts

  1. git bash 中文乱码

在git bash下,右键 -> options -> Text -> Character set -> UTF-8

posted @ 2020-07-15 23:29  shakerChann  阅读(236)  评论(0编辑  收藏  举报