当前位置: 首页 > news >正文

Git 构建分布式版本控制系统

  1. 版本控制概念
  2. Gitlab部署

1.版本控制概念

        1.1分类        

        (一)1  本地版本控制系统(传统模式)

        (二)2 集中化的版本控制系统 CVS、Subversion(SVN)

        (三)3 分布式版本控制系统GIT

        1.2  git产品

        (一)github   【公共的服务器】

官网              https://guides.github.com/activities/hello-world/

        (二)git  【纯命令行的软件】

服务器&客户端

1.准备工作目录
    useradd git
     mkdir /git-root/        任意目录
    cd /git-root/

2.创建一个分支
    git init --bare shell.git
        初始化空的 Git 版本库于 /git-root/shell.git/
        [root@abc git-root]# ls
        shell.git

3.目录授权        chown -R git:git shell.git/

4.切换git           su - git

5.生成秘钥
    ssh-keygen -t rsa       

    cd .ssh/
    cp id_rsa.pub authorized_keys
    logout

6.设置git账号的shell
    [root@abc git-root]# usermod -s /usr/bin/git-shell git

7.测试下载仓库
    cd /opt/
    git clone git@10.18.47.23:/git-root/shell.git
        [root@abc opt]# git clone git@10.18.47.23:/git-root/shell.git
正克隆到 'shell'...
git@10.18.47.23's password: 
warning: 您似乎克隆了一个空版本库。
[root@abc opt]# ls
gitlab  shell

8.测试上传仓库
    cd  shell
     touch 123
     git add .
     git commit -m 'zdsad'
    git push -u origin master
     rm -rf *
    git clone git@10.18.47.23:/git-root/shell.git
        [root@abc shell]# rm -rf *
[root@abc shell]# git clone git@10.18.47.23:/git-root/shell.git
正克隆到 'shell'...
git@10.18.47.23's password: 
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
接收对象中: 100% (6/6), done.
[root@abc shell]# ls
shell
[root@abc shell]# ls shell/
123  test1.sh

        (三)gitlab

私有的git         web服务器

2.Gitlab部署

        2.1   gitlab-LOGO

        2.2  gitlab支持的类UNIX系统

    Ubuntu
    Debian
    CentOS
    Red Hat Enterprise Linux (please use the CentOS packages and instructions)
    Scientific Linux (please use the CentOS packages and instructions)
    Oracle Linux (please use the CentOS packages and instructions)

        2.3  gitlab不支持的类UNIX系统

    OS X
    Arch Linux
    Fedora
    Gentoo
    FreeBSD

         2.4  官网链接

GitLab最新版下载安装_GitLab中文免费版-极狐GitLab中文官方网站

        2.5   Install and configure the necessary dependencies   【安装并配置必要的依赖项】

4G以上内存
sudo yum install curl policycoreutils openssh-server openssh-clients

                                                       安装和配置必要的依赖关系
sudo systemctl enable sshd           开机自启动ssh程序
sudo systemctl start sshd
sudo yum install postfix                   安装邮件程序
sudo systemctl enable postfix
sudo systemctl start postfix
sudo  systemctl stop firewalld          防火墙关上!
sudo systemctl disable firewalld

        2.6   Add the GitLab package server and install the package    【添加gitlab的rpm包并安装包】

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

        配置极狐GitLab 软件源镜像

 yum install gitlab-ce

        3.6     Configure and start GitLab       【配置并启动gitlab】

 gitlab-ctl reconfigure    自动配置文件权限,安装数据库….
    提示!安装的时间会很长!!!

        4.7  Browse to the hostname and login 【浏览主机名并登录】

gitlab服务器的地址:http://192.168.26.146
    GITLAB占用80端口,访问时直接访问IP就可以(第一次会让你确认root账户登录的密码)

登录图示:

创建8位新密码
然后使用root登录即可

创建项目:

 推送SSH秘钥:

1.保存网址

复制网址用于下载项目(文档容器)

http://root@web1/root/firstproject.git

2.生成秘钥

         ssh-keygen

3.查看秘钥

        cat     ~/.ssh/id_rsa.pub 

 4.上传密钥

5.连接地址

用于命令行,或客户端程序进行下载使用。

6.使用gitlab 的图形操作

上传文件到gitlab  

        newfile:新建一个文件。

        uploadfile:再上传即可。

下载文件到gitlab客户端

7.使用gitlab  的命令行操作

        域名解析:

        克隆服务器的文件:

git config --global user.name "git"
git config --global user.email "git@localhost"
git clone git@localhost:root/project1.git              注意您粘贴的地址中,使用了什么用户名。

         上传文件:

cd my-test    进入工作目录

echo 123456 > ceshi.txt    新建文件

git init    初始化

 

git remote add origin git@localhost:root/my-test    配置远程服务器地址
   【 如果远程服务器配置报错,因为之前已经配置过其他远程服务器。可以用命令清除掉
        git remote rm origin 】 

git add .          建立当前文件夹下所有的文件,为准备上传的文件

git commit  -m 'first commit'        提交上传说明
git push -u origin master          上传

http://www.lryc.cn/news/9876.html

相关文章:

  • Day891.一主多从的切换正确性 -MySQL实战
  • 【论文笔记】图像修复Learning Joint Spatial-Temporal Transformations for Video Inpainting
  • 代码随想录算法训练营第二天 | 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II、总结
  • Python pickle模块:实现Python对象的持久化存储
  • 【C++】C/C++内存管理
  • 【测试】自动化测试02
  • Python空间分析| 02 利用Python计算空间局部自相关(LISA)
  • idea快捷编码:生成for循环、主函数、判空非空、生成单例方法、输出;自定义快捷表达式
  • 【Spring】@Value注入配置文件 application.yml 中的值失败怎么办
  • CleanMyMac清理工具软件功能优势介绍
  • 【面试题】对JS中的事件冒泡、事件捕获、事件委托的理解
  • SAP 理解合并会计报表
  • Ubuntu 命令常用命令——定时启动程序
  • 笔试题(十三):走迷宫
  • Gradle相关的知识学习
  • SpringMVC的工作原理
  • 问卷数据分析流程
  • 【观察】Solidigm P44 Pro SSD评测:原厂品质+软硬兼施=性能怪兽
  • String对象的创建和比较
  • 09 OpenCV图形检测
  • 解密Teradata与中国市场“分手”背后的原因!国产数据库能填补空白吗?
  • Bernstein-Vazirani算法
  • 华为OD机试 - 相对开音节 | 备考思路,刷题要点,答疑 【新解法】
  • MyBatis
  • 良好的作息表
  • 【郭东白架构课 模块一:生存法则】01|模块导学:是什么在影响架构活动的成败?
  • webshell免杀之函数与变量玩法
  • 【新解法】华为OD机试 - 去重求和 | 备考思路,刷题要点,答疑,od Base 提供
  • MySQL 服务正在启动.MySQL 服务无法启动.服务没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。总结较全 (已解决)
  • 【数据结构与算法】数组2:双指针法 二分法(螺旋矩阵)