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

news2024/12/27 12:15:53
  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.coloradmin.cn/o/351461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux程序分析工具

嵌入式调试工具1. nm2. addr2line3. readelf3.1 ELF 文件分类3.2 ELF文件组成3.3使用1. nm nm源于name,是linux下一个文本分析工具,可以罗列指定文件中的符号(函数名、变量,以及符号类型)。 nm命令参数如下: 用法:nm …

深入理解MySQLⅢ -- 锁与InnoDB引擎

文章目录锁概述全局锁表级锁表锁元数据锁意向锁行级锁行锁间隙锁&临键锁InnoDB引擎逻辑存储结构架构内存结构磁盘结构后台线程事务原理redo logundo logMVCC锁 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源&#x…

Fiddler安装教程、工具图解

目录 一、Fiddler是什么? 二、Fiddler原理 三、Fiddler安装 Fiddler界面介绍 四、常用的工具图解 4.1会话列表 4.2状态栏 4.3内容显示区 一、Fiddler是什么? Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。 …

谈谈 《 JavaScript - DOM编程艺术 》这本书

前言 好吧,现在已经2023年了,对于这本书(第二版)来说可能有点老了,这本书不是很难理解,但也不是很适合新手读,当然,这本书并不是百宝书 📕 ,它更注重于编程的…

格式化字符串你都懂了吗

文章目录前言一、什么是格式化字符串?二、使用 % 格式化字符串三、使用 format() 格式化字符串总结前言 今天跟大家聊聊字符串的格式化这部分内容。乍一听“格式化”这三个字,有的初学者可能会懵:难道这是要清空字符串的节奏? 其…

网络管理之设备上线技术的发展现状和趋势

网络和网络设备无处不在 随着社会的发展和技术的进步,人类文明开始向信息时代演进,网络逐渐变成现代社会不可或缺的一部分,极大程度影响了人类的认知形式、思维方式与生活模式。从家庭网,到企业网;从无线网&#xff0…

Mysql MHA搭建

. 目录 机器配置 安装Docker Docker安装和启动Mysql8.0.26 搭建Mysql一主二从 设置三台机器免密访问 安装MHA 搭建问题记录 问题1 MHA验证主从复制报错Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation 问题2 MHA验证…

doris - 数仓 拉链表 按天全量打宽表性能优化

数仓 拉链表 按天全量打宽性能优化现状描述优化现状描述 1、业务历史数据可以变更 2、拉链表按天打宽 3、拉链表模型分区字段设计不合理,通用的过滤字段没有作为分区分桶字段 4、拉链表表数据量略大、模型数据分区不合理和服务器资源限制,计算任务执行超…

安装JupyterLab失败的解决方案

由于本人电脑安装的Python版本3.6比较低,所以可能存在下面两种方法都安装失败,最后给出一个简单省事的方法。Jupyter lab比Jupyter Notebook要好用,试了之后感觉跟VSCode一样的存在,所以还是值得安装来代替Jupyter Notebook使用。…

Ae:解释素材

所谓解释素材 Interpret Footage,就是通过修改素材的某些属性(像素长宽比、帧速率、颜色配置文件及 Alpha 通道类型等),让它能更好地参与到合成中去。Ae菜单:文件/解释素材快捷键:Ctrl Alt G在项目面板里…

【C语言】编程初学者入门训练(13)

文章目录121. 小乐乐算最高分122. 小乐乐计算求和123. 小乐乐计算函数124. 小乐乐查找数字125. kiki学程序设计基础126. kiki算期末成绩127. kiki说祝福语128. kiki的最高分129. 求质数的个数130. kiki去重整数并排序121. 小乐乐算最高分 问题描述:小乐乐的老师BoB…

4.2 双点双向路由重发布

1. 实验目的 熟悉双点双向路由重发布的应用场景掌握双点双向路由重发布的配置方法2. 实验拓扑 双点双向路由重发布如图4-6所示: 图4-6:双点双向路由重发布 3. 实验步骤 IP地址的配置R1的配置 <Huawei>system-v…

关键路径、工期、总时差和自由时差精讲

关键路径法是在进度模型中&#xff0c;估算项目最短工期&#xff0c;确定逻辑网络路径进度灵活性大小的一种方法。①计算原理a.计算ES、EF&#xff1a;从网络计划起点节点开始&#xff0c;沿箭线方向依次向前推算&#xff0c;数值取大。b.计算LS、LF&#xff1a;从网络计划终点…

SVFormer:走进半监督动作识别的视觉 Transformer

出品人&#xff1a;Towhee 技术团队 顾梦佳 半监督学习&#xff08;SSL&#xff09;的动作识别是一个关键的视频理解任务&#xff0c;然而视频标注的高成本加大了该任务的难度。目前相关的方法主要研究了卷积神经网络&#xff0c;较少对于视觉 Transformers&#xff08;ViT&…

一个视频说清整个英语语法体系(重塑你的语法认知框架)

前言 绝大多数句子&#xff1a;什么 怎么样 几乎所有的英语句子&#xff1a;主语谓语 广义 “动作”&#xff1a;语法上的“动词” 主语(人或物) 谓语(“动作”发生了什么事情) 有哪些”动作“(动词)&#xff1f; 可以独立完成的动作&#xff1a;不及物动词 [主语不及物…

GEE学习笔记 七十九:【GEE之Python版教程十一】

列表在python中就是使用中括号包围的数据&#xff0c;比如[11,23,10]等。列表&#xff08;list&#xff09;是可变的&#xff0c;同时在python中还有集合&#xff08;set&#xff09;以及元组&#xff08;tuple&#xff09;和这个类似&#xff0c;不要把这些内容搞混。 运行下…

Maven怎样构建生命周期?

项目构建生命周期Maven的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套&#xff0c;其中clean负责清理工作&#xff0c;default负责核心工…

Git小乌龟每次推送拉取都弹窗和用户名密码报错(解决办法)

目录 一、小乌龟推送代码到云端用户名和密码报错 &#xff08;一&#xff09; 遇到问题 &#xff08;二&#xff09;解决办法 二、小乌龟每次推送拉取都要输入账号和密码 &#xff08;一&#xff09;遇到问题 &#xff08;二&#xff09;解决办法 一、小乌龟推送代码到云…

AlphaGo 和 ChatGPT有何相似之处? 附AlphaGo核心算法开源链接

AlphaGo 和 ChatGPT 是迄今为止最著名、最具开创性的两个 AI 系统之一。尽管它们被设计用于不同的目的&#xff0c;但它们共享一些重要的相似之处&#xff0c;包括使用深度学习、神经网络以及专注于达到人类水平表现等。而不久前&#xff0c; DeepMind 悄悄开源了AlphaGo的核心…

在windows安装MySQLworkbench

跑到官网安装MySQL :: MySQL Downloads select MySQL community server Recommended Download download the first installer here just start my download let’s open it and agree with the license agreement 安装&#xff0c;一直点next点到Account and Rolse 自己定密码…