• git 的安装与初始化


    1搭建本地git服务器

    1.1安装git    

       对于ubuntu系统,一般自带git,可以使用git --version 查看版本号 ,或使用apt-get install git  。

       centos上对于新版本的git安装麻烦一点(centos7.2允许最新的git版本是1.8.3  ,要 安装大于这个版本的,就要通过编译安装)

        先卸载低版本git ,    yum remove git

        安装依赖包  

        •     yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
        •     yum install gcc perl-ExtUtils-MakeMaker
        •     yum install xmlto

        将出现提示:make[1]: Leaving directory `/usr/local/src/git-2.9.2/Documentation'

        下载git安装包

        配置环境

        •     echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
        •     source /etc/bashrc

        查看版本号

        git --version 

    1.2在服务器端创建git 用户,用来管理git服务

      cd /home

      id git                    查看git用户是否存在,返回no such user ,表示用户git不存在

      useradd git          创建git用户及密码

      passwd git 

      按提示填完信息后,git 用户就创建完成

    1.3在服务器端创建git仓库 

      mkdir -p /home/git/repository/gittest.git           同创建普通文件夹的命令一样,-p表示上级目录不存在则逐层创建

      git init --bare ./gittest.git                                    初始化git项目目录

      chown -R git:git repository                                   将repository的拥有着改为git:git ,   -R表示更改权限的操作也将应用于该文件夹的子孙文件夹及文件。

    2客户端使用git

      先安装git, linux同上,windows的下载git的window版本即可。

    2.1在命令行中配置git初始化信息(window上可右键选择git bash )

      git config --global user.name "Your name"                    这些用户名与email地址,git不会去验证,只是用作区分不同的用户而已

      git congfig --global user.email "Your email"

      

    2.2本地关联远程git仓库

      现在可以直接克隆服务器上的git 仓库:  git clone git@服务器公网ip:服务器上创建的git仓库的绝对路径      

        如 git clone git@120.32.136.3:/home/git/repository/gittest.git

      也可将本地已有的项目,关联到远程服务器仓库地址: git remote add origin git@120.32.136.3:/home/git/repository/gittest.git,

        然后将本地分支推送上去作为初始节点     git push --force --set-upstream origin master

          首次连接远程git服务器时会有一个提示

    •  The authenticity of host '118.178.142.77 (118.178.142.77)' can't be established.
    •  ECDSA key fingerprint is SHA256:JwC9NxLIjBGqtLC2NUk8MulSc3XH3mM5AWMcFz0a5/8.
    •  Are you sure you want to continue connecting (yes/no)? yes
    •  选择 yes :
    •  Warning: Permanently added '118.178.142.77' (ECDSA) to the list of known hosts.
    • 此时 c:Users用户名.ssh 下会多出一个文件 know_hosts ,以后在这台电脑上再次连接目标 git服务器时不会再有提示了

    3使用ssh密钥 ,简化登陆git服务器

    3.1在客户端生成密钥 

      linux :     ssh-keygen -t rsa -C "myeamil@address.com"             (先查看目录下是否先存在同名密钥文件)将在~/.ssh目录下生成id_rsa 和id_rsa.pub 

      windows  git bash : ssh-keygen -t rsa -C "myeamil@address.com"              windows上生成的密钥地址将在 C:Users用户名.ssh下

    3.2在服务器端ssh认证配置

      vi /etc/ssh/sshd_config  ,

        去掉下面三行的注释

        •     RSAAuthentication yes
        •     PubkeyAuthentication yes
        •     AuthorizedKeysFile .ssh/authorized_keys

        保存并重启sshd服务  service sshd restart     ,最后一行表示的是公钥的存放路径 ,

      更改文件的权限 :

        cd /home/git 

        chmod 700 .ssh

        cd .ssh/

        chmod 600 authorized_keys

      禁用git用户使用ssh登陆到服务器

        vim /etc/passwd 

        将git:x:1001:1001::/home/git:/bin/bash改为 git:x:1001:1001::/home/git:/bin/git-shell

        这样git用户可以通过ssh使用git ,但无法通过ssh登陆系统

      

    3.3导入客户端的公钥到服务器 :

       在git的home目录下创建目录.ssh ,将客户端生成的公钥复制到服务器端的/home/git/.ssh/authorized_keys文件中 : git bash 中使用命令 :

      ssh git@服务器公网IP网址  ‘cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa_git.pub

      后面添加公钥可以直接编辑 /home/git/.ssh/authorized_keys ,将公钥复制到下一行

      

  • 相关阅读:
    多级联动系列——数组二级联动
    WebSocket初探
    8大最有气质的网络公司
    Quartz中时间表达式的设置-----corn表达式
    Servlet页面间对象传递的方法
    LSPCI具体解释分析
    CREATE PROCEDURE
    php实现工厂模式
    sql语法:inner join on, left join on, right join on具体用法
    C++虚函数表调用学习
  • 原文地址:https://www.cnblogs.com/Ting-light/p/10272429.html
Copyright © 2020-2023  润新知