• 4. 服务器上的Git


    4.1 搭建Git服务器 git1

    ]# git config --global user.name "user1"
    ]# git config --global user.email user1@example.com
    ]# groupadd git
    ]# useradd git -g git
    ]# su - git
    ~]$ mkdir .ssh && chmod 700 .ssh
    ~]$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
    ~]$ mkdir git1.git
    # 创建裸仓库
    git1.git]$ git init --bare
     
    4.2 配置其他服务器免密登录 git2
    ]# git config --global user.name "user2"
    ]# git config --global user.email user2@example.com
    ]# groupadd git
    ]# useradd git -g git
    ]# su - git
    ~]$ mkdir .ssh && chmod 700 .ssh
    .ssh]$ ssh-keygen
    .ssh]$ ls
    authorized_keys  id_rsa  id_rsa.pub
    # 将 id_rsa.pub 文件内容添加到 git1 的 authorized_keys 里即可
    .ssh]$ ssh-copy-id git@47.105.86.193 git1的IP
    git2 以 root身份配置 /etc/hosts
    git2 ~]# cat /etc/hosts  0.55 为 git1的IP
    ...
    192.168.0.55    gitserver
     
    4.3 git2 推送本地代码到裸仓库
    git2-proj]$ git init
    git2-proj]$ git commit -m 'Add git2.txt at VM git2'
    git2-proj]$ git remote add origin git@gitserver:/home/git/git1.git
    git2-proj]$ git push origin master  # 推送到 git1 服务器
     
    4.4 其他服务器分工协作 git2 模拟其他服务器
    git2-proj]$ git rm git2.txt
    git2-proj]$ git commit -m 'del git2.txt at VM git2'
    # 测试本地仓库为空 克隆远程仓库代码 git2 之前提交的代码
    git2-proj]$ git clone git@gitserver:/home/git/git1.git
    # 查看
    git2-proj]$ ls  # 克隆回来的目录叫 git1
    git1
    git2-proj]$ cd git1/
    git2 git1]$ ls  # 之前 git2 的仓库代码
    git2.txt
    # 修改并推送
    git1]$ git commit -am 'Modify git2.txt At Other VM'
    git2 git1]$ git push origin master
     
    # 此时其他服务器再执行 git clone git@gitserver:/home/git/git1.git 时,代码已经时更新过的
    git2 git1]$ git log
    commit 8d9443989651739ca6267bc5980ecd6d17646110 (HEAD -> master, origin/master, origin/HEAD)
    Author: user2 <user2@example.com>
    Date:   Fri Aug 14 16:49:57 2020 +0800
     
        Modify git2.txt At Other VM
     
    commit 2b5c820871528b35565436712937c9177c0241cc
    Author: user2 <user2@example.com>
    Date:   Fri Aug 14 16:24:57 2020 +0800
     
        Add git2.txt at VM git2
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    【转】Vitalik:Layer-1 短期求创新,长期求保守
    扩容解决方案:状态通道
    以太坊的存储成本
    扩容解决方案:侧链
    区块链:Layer0 通用可扩展性解决方案
    实战演练丨Oracle死锁案例分析,看完你就懂了
  • 原文地址:https://www.cnblogs.com/luwei0915/p/13819270.html
Copyright © 2020-2023  润新知