• linux下部署git服务器


    我这里用的是redhat7.4, 直接开始吧.

    环境

    服务端: Redhat7.4 + git(version 1.8.3.1) IP:192.168.137.168
    客户端: win7 + git (version 2.19.1)

    Git

    server:

    [root@localhost gittest.git]# git --version
    git version 1.8.3.1

    我这里是有的, 没有的话

    yum install git -y
    

    client:

    官网地址: https://git-for-windows.github.io/

    服务器操作

    • 新建git用户与赋予密码
    useradd git
    passwd git

    注:这里的密码我用1234

    • 为服务器创建一个git用的文件夹(git仓库)
    mkdir /usr/local/gittest.git

    注:这个目录可以随便建(项目在哪就放哪), 只要后面授权给git用户管理就行

    • 初始化
    git init --bare /usr/local/gittest.git
    • 授权
    chown -R git:git /usr/local/gittest.git

    注:这个就很简单了,在/usr/local/gittest.git下会看到生成了目录

    客户端操作

    注:这一波用的不是powershell或者cmd, 确定客户端的git已安装.

    • 简介

    • 新建目录
    hp@hp-PC MINGW64 /d/wamp64
    $ mkdir gittest_gitbash
    
    hp@hp-PC MINGW64 /d/wamp64
    $ ls
    gittest/  gittest_gitbash/  www/
    c
    hp@hp-PC MINGW64 /d/wamp64
    $ cd gittest_gitbash/
    hp@hp-PC MINGW64 /d/wamp64/gittest_gitbash
    $ pwd
    /d/wamp64/gittest_gitbash
    •  clone项目
    git clone git@192.168.137.168:/usr/local/gittest.git

     注:这个就很容易理解了, 将服务器上面的文件夹下的东西拉取到本地(就是这个目录下d:wamp64gittest_gitbash)

    • 自动弹出提示
    The authenticity of host '192.168.137.168 (192.168.137.168)' can't be established.
    RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.
    Are you sure you want to continue connecting (yes/no)? yes
    

    成功!

    • 发现 
     此时会在本地C:Users用户名.ssh 下生成文件 known_hosts
    •  创建公钥私钥
    ssh-keygen -t rsa -C "邮箱"
    

    注:此时C:Users用户名.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub

     

    • 服务器Git打开rsa认证
    [root@localhost gittest.git]# cd /etc/ssh/
    [root@localhost ssh]# ls
    moduli      sshd_config         ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub
    ssh_config  ssh_host_ecdsa_key  ssh_host_ed25519_key    ssh_host_rsa_key
    [root@localhost ssh]# vim sshd_config
    •  打开三个注释
    RSAAuthentication yes
    PubkeyAuthentication yes
    
    AuthorizedKeysFile .ssh/authorized_keys
    

    • 重启sshd
    systemctl stop sshd.service
    systemctl start sshd.service
    •  在git用户目录新建.ssh目录
    mkdir /home/git/.ssh
    •  授权
    chown -R git:git /home/git
    

    • 将客户端公钥上传到服务器端git用户目录.ssh
    cd C:Users用户
    ssh git@192.168.137.168 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
    

    注:这里要切换到.ssh的上一级目录, 因为要将authorized_keys文件当前内容上传到服务器中

    •  再看一下服务器上面的目录

    • 客户端再次clone远程仓库
    git clone git@192.168.137.168:/usr/local/gittest.git
    

    结尾

    • 禁止git用户ssh登录
    vim /etc/passwd
    将
    git:x:1004:1005::/home/git:/bin/bash
    改为
    git:x:1004:1005::/home/git:/bin/git-shell
    

      

    Git服务器搭建完毕!

    后续

    • 删除远程分支点
    git remote remove origin
    

    • 新建远程分支点
    origin 为远程仓库别名  后面http 为远程仓库地址
    git remote add origin git@192.168.137.168:/home/git/data/git/learngit.git
    

    • 本地库提交到远程分支(上传)
    git push <远程主机名> <本地分支名>:<远程分支名>
    git push learngit master:origin
    

    • 本地分支拉取远程分支(下载)
  • 相关阅读:
    在ASP.NET MVC中使用Redis
    学生管理系统(SSM简易版)总结
    springmvc缓存和mybatis缓存
    解决.NET Web API生成的Help无Controller说明&服务端接收不到请求
    ASP.NET MVC]WebAPI应用支持HTTPS的经验总结
    23 Flutter官方推荐的状态管理库provider的使用
    22 Flutter仿京东商城项目 inappbrowser 加载商品详情、保持页面状态、以及实现属性筛选业务逻辑
    21 Flutter仿京东商城项目 商品详情 请求接口渲染数据 商品属性数据渲染
    16Flutter中的路由 基本路由 基本路由跳转传值(上)
    20 Flutter仿京东商城项目 商品详情 底部弹出筛选属性 以及筛选属性页面布局
  • 原文地址:https://www.cnblogs.com/chenglee/p/9766898.html
Copyright © 2020-2023  润新知