美文网首页
Linux搭建Git服务器(CentOS)

Linux搭建Git服务器(CentOS)

作者: Tyhj | 来源:发表于2018-09-20 10:51 被阅读0次
    animal-beach-bird-66258.jpg

    查看 yum 仓库中的 Git 信息

    yum info git
    

    已安装的软件包
    名称 :git
    架构 :x86_64
    版本 :1.8.3.1

    yum仓库中的Git的版本是1.8.3.1,并不是最新版本,先卸载后再安装

    安装依赖库

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

    安装新的版本

    下载地址:https://github.com/git/git/releases

     卸载低版本的 Git,
     yum remove git
     
     将下载的最新的 Git 源码放在 /usr/local/git 目录下:
     cp /home/upload/git-2.19.0.tar.gz /usr/local/git/
     
     或者在线下载
     # wget https://github.com/git/git/archive/v2.19.0.tar.gz
     
     解压文件
     tar -xzvf git-2.19.0.tar.gz
     
     进入文件夹,执行命名开始编译源码
     make prefix=/usr/local/git all
     make prefix=/usr/local/git install
    

    配置环境变量

    修改配置文件
    vim /etc/profile
    
    末尾添加变量
    export PATH="/usr/local/git/bin:$PATH" 
    
    保存退出,输入指令使配置生效
    source /etc/profile
    
    查看是否安装成功
    git --version
    

    创建用户组和用户

    创建组:# groupadd 组名
    useradd 用户名 -g 组名 
    
    创建用户:# useradd 用户名 -g 组名 
    useradd tyhj -g git
    
    创建密码: # passwd 用户名
    eg:# passwd git
    
    

    创建完用户后会在 /home 目录下生成一个以用户名为名的目录,可以通过 -d 设置用户登录的主目录位置(eg:useradd user01 -d /usr/user01 -g git)。如果不想为用户建立目录,可以在建立的时候用 -M 命令;

    创建远程仓库

    切到用户的目录
    cd /home/tyhj
    创建仓库
    git init --bare test.git
    

    通过证书访问

    mac上生成公钥
    ssh-keygen -t rsa -C "YourEmal@163.cn"
    
    完成之后会生成两个文件,一个公钥 id_rsa.pub,一个私钥 id_rsa
    默认目录在 /Users/xxx/.ssh,执行 cat .ssh/id_rsa.pub 可以查看生成的公钥的内容
    
    在 Git 服务器上打开 RSA 认证
    vim /etc/ssh/sshd_config
    
    修改相关配置
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      %h/.ssh/authorized_keys
    
    
    

    将mac上生成的公钥添加到用户目录的.ssh/authorized_keys文件末尾,放到root目录也行的话,就可以用root来登陆服务器不需要密码;我们的git仓库在tyhj用户的目录下,并且我们使用tyhj用户来登陆Git服务器,所以还需要将公钥放在 /home/tyhj/.ssh/authorized_keys文件中

    Linux服务器没有目录和文件的话新建一个,或者直接使用ssh-keygen命令就会生成相关目录,然后直接通过ssh上传mac生成的公钥到那个目录并修改名字

    如果目录没有authorized_keys文件,放到root目录
    scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:~/.ssh/authorized_keys
    
    放到用户目录
    scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:/home/tyhj/.ssh/authorized_keys
    
    

    clone远程仓库或者添加远程仓库

    从远程仓库克隆项目
    git clone tyhj@66.42.102.63:test
    
    也可以给已存在的项目添加远程仓库
    git remote add origin tyhj@66.42.102.63:test
    
    可能会出现如下错误
    bash: git-upload-pack: 未找到命令
    
    是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
    ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
    
    

    本地提交

    提交代码到远程仓库
    git push 
    
    可能会出现如下错误
    bash: git-receive-pack: 未找到命令
    是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
    ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
    
    unable to create temporary object directory
    权限不够问题,在服务器修改仓库权限
    chmod 777 test.git -R
    

    基本上就完成了

    参考文章:https://blog.csdn.net/u011886447/article/details/79802285

    相关文章

      网友评论

          本文标题:Linux搭建Git服务器(CentOS)

          本文链接:https://www.haomeiwen.com/subject/dipgnftx.html