zoukankan      html  css  js  c++  java
  • Linux下安装Git


    一:安装并配置Git


    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。

    这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,还是yum安装,比较简单方便。。。

    更多关于Git的内容,请看下面的链接:

    Git官方文档:Git-Book

    Git工作流:深入理解学习Git工作流


    1、执行安装

    连接到服务器并登录成功后,输入如下指令,进行下载安装:

     yum install git

    界面显示如下:

    出现询问是否下载时,输入y,点击回车,耐心等待安装完成:


    2、验证安装结果

    输入命令:

     git --version ,查看安装的Git版本,验证是否安装成功;


    3、查看安装信息

    Git默认安装在/usr/libexec/git-core目录下,可输入指令,查看安装信息:


    4、存在的问题

    使用yum安装确实简单方便,但yum存在一个问题就是安装的版本不好控制,如上图所示,安装的版本为1.8.3,这个版本太老了。

    登录github的Git版本发布界面,可以看到目前最新的版本为2.17,如下图所示:

    如果需要安装最新的版本Git,可以从github下载最新的源码进行编译,然后安装。


    5、源码编译安装Git

    大体的安装步骤如下:

    ①、获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为:

     wget https://github.com/git/git/archive/v2.17.0.tar.gz ;

    ②、压缩包解压,命令为:

     tar -zxvf v2.17.0.tar.gz ;

    ③、安装编译源码所需依赖,命令为:

     yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;

    ④、安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为:

     yum remove git 出现提示输入y即可;

    ⑤、进入解压后的文件夹,命令

     cd git-2.17.0

    然后执行编译,命令为

    make prefix=/usr/local/git all 耐心等待编译即可;

    ⑥、安装Git至/usr/local/git路径,命令为

     make prefix=/usr/local/git install ;

    ⑦、打开环境变量配置文件,命令

     vim /etc/profile

    在底部加上Git相关配置信息:

    PATH=$PATH:/usr/local/git/bin

    export PATH

    然后保存,退出!


    ⑧、输入命令 git --version ,查看安装的git版本,校验通过,安装成功。

    如果看不到版本信息,重启下linux 系统


    看到git版本信息,说明git安装成功



    image


    二、将Git初始化,并生成授权证书

    • Git初始化设置,设置用户名he邮箱地址

    git config --global user.name "JavaCadeliu"
    git config --global user.email "1136808529@qq.com"

    image

    image




    • 可以查看设置的信息


    [root@localhost git-core]# git config --list
    user.name=JavaCadeliu
    user.email=1136808529@qq.com
    


    image

    注:下图是从别的地方复制来的

    在这里插入图片描述


    • 下一步,生成授权证书

    温馨提示:
    git的认证授权,是基于公钥私钥的证书体系,因此,需要授权证书来保证测试应用服务器和git server之间的正常的认证授信。

    • 在命令行中输入生成证书的语句:
    [root@localhost ~]# ssh-keygen -t rsa -C "1136808529@qq.com"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    6c:f1:19:b0:9e:a5:a1:8e:42:f5:2f:fc:d2:f0:ae:e1 1136808529@qq.com
    The key's randomart image is:
    +--[ RSA 2048]----+
    |        .        |
    |         o       |
    |    .   + o      |
    |   . . + B o     |
    |  .   o S o      |
    | .   +.o         |
    |  . . =+.        |
    |   . ..+o        |
    |      E+o        |
    +-----------------+
    [root@localhost ~]#

    执行命令后,会有3次需要确认,
    第一次:生成公钥和私钥的文件名称(默认即可)
    第二次:生成证书的密码(默认为空即可)
    第三次:确认证书密码(默认为空即可)

    image

    到此生成是证书完成!!!

    • 查看公钥私钥是否在系统中生成
    • 进入用户目录执行命令:
    [root@localhost ~]# cd ~/.ssh/
    [root@localhost .ssh]# ls
    id_rsa  id_rsa.pub
    [root@localhost .ssh]#
    
    

    image

    id_rsa:这个是私钥
    id_rsa.pub:这个是公钥

    • 下一步,你把公钥证书注册到github上

    【打开github主页】-【登录】-【Setting】-【SSH and GPG keys】

    image

    image




    在测试服务器上编辑公钥,并复制到github中:

    vim id_rsa.pub

    image

    image

    image


    这样就完成了公钥的添加到github上了

    验证git配置是否正确

    ssh git@github.com
    [root@localhost .ssh]# ssh git@github.com
    The authenticity of host 'github.com (192.30.255.113)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
    PTY allocation request failed on channel 0
    Hi JavaCadeliu! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    

    image


    出现上面红框中的信息,说明Linux系统和github可以正常的连接了
    到此,git设置全部完成!!


    三:git clone出现 fatal: unable to access 'https://github.com/...'的解决办法(亲测有效)

    如下图所示,当我试图克隆别人的repo时,会发生这样的错误,当我从git:/而不是https://,克隆时,它工作得很好。

    发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config --global http.proxy也无济于事。

    解决方案一


    1、看看你的git配置


    git config --global -l

    如果你没有任何与https代理相关的内容,例如https_proxy = …问题不在这里。

    如果您有与https代理相关的内容,请将其从〜/ .gitconfig文件中删除,然后重试。

    2、如果仍然不起作用,请取消设置环境变量


    env|grep -i proxy

    你应该有一行或几行https_proxy = …

    使用以下内容逐个取消设置:取消设置https_proxy(或HTTPS_PROXY,具体取决于变量的名称)

    3、再次检查环境变量


    env|grep -i proxy

    如果它没有显示任何你应该是好的。

    注意:此解决方案可以应用于http和https代理问题。只是变量名称从https更改为http。

    解决方案二


    在开启shadowsocks的前提下,手动配置git的代理。git客户端输入如下两个命令就可以了。

    git config --global http.proxy http://127.0.0.1:1080
    
    git config --global https.proxy http://127.0.0.1:1080
    
    http://也可以改成sockets5://,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。

    取消代理:

    git config --global --unset http.proxy
    
    git config --global --unset https.proxy
    

    其实方案一和方案二是同一种方法,不过方案二更加具体一点罢了,大部分问题都可以用方案二解决,当方案二无效时,考虑使用方案一。



    四:完美解决 fatal: unable to access ‘https://github.com/.../.git‘: Could not resolve host: github.com

    只需要在命令行中执行

    git config --global --unset http.proxy
    git config --global --unset https.proxy
    
    #解决方案:cmd下命令执行 ipconfig/flushdns
    #清理dns缓存
    







    为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
    学问:纸上得来终觉浅,绝知此事要躬行
    为事:工欲善其事,必先利其器。
    态度:道阻且长,行则将至;行而不辍,未来可期
    转载请标注出处!
  • 相关阅读:
    Vuex的使用
    vue的props属性,vue的插槽
    ES6 Promise对象
    ES6 Map对象以及Set对象
    函数作用域以及块级作用域
    组件之间的传值-$refs&$parent
    Vue中父子组件的传值
    v-on 以及v-model的修饰符以及vue的常用指令
    时间线
    readline和xreadline的区别
  • 原文地址:https://www.cnblogs.com/ios9/p/14621012.html
Copyright © 2011-2022 走看看