Git 2.19.1在SLES11安装与配置 - 运维手记 2018-11-26

2018/11/26 23:32 下午 posted in  技术 随记 comments

今天工作有些东西需要整理,现在整理一下。

注意:本文首次撰写于2018-11-26,最近修改时间为2018-11-26,请注意相关程序的可用性与安全性。

  • 参考文献

    安装

    其实就是很简单的源码编译安装,但是官方给出的教程有点神奇,经过测试使用如下方法安装的:

    localhost:software # wget -c https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.1.tar.gz
    localhost:software # tar -zxvf git-2.19.1.tar.gz
    localhost:software # cd git-2.19.1
    localhost:software # ./configure
    localhost:software # make && make install
    

    如果安装期间报以下错误:

    #install过程中出现了错误
    http-push.c:18:19: fatal error: expat.h: No such file or directory
    

    这是因为缺少相关模块,如果在联网情况下可以安装如下依赖:

    # CentOS
    yum install expat-devel 
    
    # SLES
    apt-get install expat-devel
    

    git的安装大概需要下面这些依赖

    curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    

    Git客户端设置用户名与邮箱

    localhost:software # git config --global user.name "ZNing"
    localhost:software # git config --global user.email "[email protected]"
    

    Linux/macOS可直接在终端执行,Windows请打开Git Bash执行。虽然这是全局设置,但是如果仓库有其他用户名和Email地址也可以对某个仓库指定不同的用户名和Email地址。

    Git客户端生成SSH Key

    1. 创建 SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开终端(Windows 下打开 Git Bash),创建 SSH Key:

      localhost:software # sh-keygen -t rsa -C "[email protected]"
      

      你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个 Key 也不是用于军事目的,所以也无需设置密码。

      如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    2. 登陆GitHub/Gogs或者其他的Git Server Web端,打开“Account settings”(账户设置) - “SSH Keys”(SSH密钥)页面。然后,点“Add SSH Key”(添加密钥),填上便于自己以后识别的Title(密钥名称),在Key(密钥内容)文本框里粘贴id_rsa.pub文件的内容。点“Add Key”(添加密钥),你就应该看到已经添加的Key(密钥)了。

      为什么GitHub等Git Server需要SSH Key呢?因为这些服务需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,这些服务只要知道了你的公钥,就可以确认只有你自己才能推送。

      当然,这些服务允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

    参考文献

    1. https://blog.csdn.net/fanshujuntuan/article/details/78077433
    2. http://blog.51cto.com/putian/1287959
    3. https://blog.csdn.net/maxsky/article/details/51171474
    4. http://wiki.jikexueyuan.com/project/git-tutorial/remote-repository.html
    5. http://www.luxinzhi.com/system/140.html
    6. https://overtrue.me/articles/2015/05/install-latest-git-on-centos.html
    7. https://blog.csdn.net/zsx157326/article/details/80059068
    8. https://blog.csdn.net/chenqiai0/article/details/83472410
    9. https://www.jianshu.com/p/3478e2a214a1