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

news2025/7/17 17:20:50

一、版本控制

1、概念:

版本控制(Version Control),也被称为版本管理、源代码管理或代码控制,是一种系统和工具,用于跟踪和管理文件、数据或源代码的不同版本和历史记录,在软件开发、文档管理和协作项目中广泛应用。

2、分类:

(1) 本地版本控制系统:

本地版本控制系统是最简单的版本控制系统,通常用于个人项目或小型团队,

它通过在本地文件系统中保存不同版本的文件副本来实现版本控制。

(2) 集中化版本控制系统:

集中化版本控制系统采用集中式服务器来管理文件的版本控制,所有文件和版本历史都存储在一个中央服务器上,开发者通过客户端软件连接到服务器来进行协作和版本控制操作,例如 Subversion(SVN)。

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

分布式版本控制系统适用于大型项目和分散团队,每个开发者都有一个完整的本地副本(克隆)的代码库,包括整个版本历史,分布式版本控制系统的代表是 Git,它是目前最广泛使用的分布式版本控制系统之一。

二、Gitlab 部署

1、Gitbal 官网:JiHu GitLab

2、Gitlab 安装:

虚拟机内存:4G 以上

(1) 安装和配置依赖项:

yum install curl policycoreutils openssh-server openssh-clients

启动 ssh 程序:

systemctl start sshd

systemctl enable sshd

安装并启动邮箱程序:

yum install -y postfix

systemctl start postfix

systemctl enable postfix

关闭防火墙:

systemctl stop firewalld

systemctl disable firewalld

(2) 安装 Gitlab 服务器:

yum install -y gitlab-ce-9.1.0-ce.0.el7.x86_64.rpm

(3) 配置并启动 Gitlab:

gitlab-ctl reconfigure

gitlab-ctl reconfigure 是 GitLab 中的命令,用于重新配置 GitLab 服务,它的主要作用是为 GitLab 部署一套 LNMP 环境,以确保 GitLab 服务和组件能够运行。

① Gitlab 登录页面:

创建8位的密码 ;使用 root 账号和刚才配置的密码登录

② 创建项目:

开放级别:

● Private(私有):最高级别的可见性,只有项目成员或组内成员可以查看;

● Internal(内部):内部项目或群组对所有内部用户可见,但对外界用户是不可见的;

● Public(公开):公开项目或群组对所有人可见,包括外部用户和未登录用户,任何人都可以查看和访问项目或群组的内容。

(4) ssh 免密登录:

① 生成密钥:

ssh-keygen

② 上传密钥:

点击账户的 settings,找到 SSH Keys,将生成的密钥复制过来,再点击 Add key

3、使用 Gitlab:

(1) 图形界面操作:

● New file 新建文件:

Gitlab 支持在线编辑需要添加的文件

● uploadfile 上传本地文件:

● 下载文件:将 project1 里的项目下载到本地

(2) 命令行操作:

① 下载文件:

● git config --global user.name "root"

配置用户名为"root",并将其保存在全局配置中。

如果显示报错信息:bash: git: command not found...,则要先安装 git

yum install -y git

● git config --global user.email "root@master2"

配置电子邮件地址为 "root@master2" ,并将其保存在全局配置中。

● git clone git@master2:root/project1.git

将项目从远程 Git 仓库克隆(复制)到本地。

② 上传文件:

● git init:初始化git

● git remote add origin git@master2:root/project1.git:指定 git 所要添加的远程仓库

● git add . :添加当前目录

● git commit -m 'bean_2023/10/17' :提交上传说明

● git push -u origin master

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1103517.html

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

相关文章

深入理解Huffman编码:原理、代码示例与应用

目录 ​编辑 介绍 Huffman编码的原理 信息理论背景 频率统计 Huffman树 Huffman编码的代码示例 数据结构 权重选择 Huffman编码生成 完整示例 完整代码 测试截图 Huffman编码的应用 总结 介绍 在这个数字时代,数据的有效压缩和传输变得至关重要。Hu…

【Linux】Ubunt20.04在vscode中使用Fira Code字体【教程】

【Linux】Ubunt20.04在vscode中使用Fira Code字体【教程】 文章目录 【Linux】Ubunt20.04在vscode中使用Fira Code字体【教程】1. 什么是Fira Code字体2. 安装Fira Code字体3. 配置vscodeReference 1. 什么是Fira Code字体 Fira Code:是一种带有编程连字的等宽字体。…

多组试验时正态分布标准差估计公式

本文介绍如何通过多组试验数据来估计正态总体的标准差. 一,各组试验次数相等 设正态总体X~N(μ,σ),其中均值μ和标准差σ未知.今有m组样本,每组样本大小n相等,其试验数据如下:求标准差σ的估计σ. 多组试验时正态分布标准差估计公式 - 百度学术

机器人制作开源方案 | 行星探测车概述

1. 功能描述 行星探测车(Planetary Rover)是一种用于进行科学探索和勘测任务的无人车辆,它们被设计成能够适应各种复杂的地形条件和极端环境,以便收集数据、拍摄照片、采集样本等。行星探测车通常包含以下主要组件和功能&#xff…

Ubuntu - 查看 IP 地址

要查看 Ubuntu 操作系统中的 IP 地址,可以使用 ip 命令或者 ifconfig 命令。以下是使用这两个命令的示例: 使用 ip 命令: 打开终端。 输入以下命令: ip a 这将显示网络接口信息,包括 IP 地址。通常,IP…

彩虹工具网程序开源未加密版源码_支持插件扩展 支持暗黑模式

2023全新UI彩虹站长在线工具箱系统源码下载 全开源版本 支持暗黑模式 支持高达72种站长工具、开发工具、娱乐工具等功能。本地调用API、自带免费API接口, 是一个多功能性工具程序支持后台管理、上传插件、添加增减删功能。 源码下载:https://download…

谈谈 Redis 主从复制模式

谈谈 Redis 主从复制模式 第一次主从节点同步是全量复制 接下来,我在具体介绍每一个阶段都做了什么。 第一阶段:建立链接、协商同步 执行了 replicaof 命令后,从服务器就会给主服务器发送 psync 命令,表示要进行数据同步。 psync…

推荐一下中国可看到当前就业形势统计的网站

推荐一下中国可看到当前就业形势统计的网站 要查看中国的就业形势统计,你可以考虑以下几个官方和主流的资源网站: 国家统计局 (National Bureau of Statistics of China): 网址:http://www.stats.gov.cn/国家统计局是中国官方发布各种统计数…

Jetpack:011-Jetpack中标题栏

文章目录 1. 概念介绍2. 使用方法2.1 标题与导航2.2 详情菜单 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中进度条相关的内容,本章回中主要介绍 标题栏。闲话休提,让我们一起Talk Android Jetpack吧! 1. 概念介绍 我们在本章回…

航天科技×辰安科技 打造智慧化工园区安全保障平台

近年来,国内化工园区安全事故频发,多起化工园区重特大事故造成了严重人员财产损失的同时,也重创了行业的整体发展。在智能制造和工业互联网的背景下,建设智慧化工园区,使用智能化手段实现安全生产是解决当前化工园区安…

2023年Q3季度国内手机大盘销额下滑2%,TOP品牌销售数据分析

根据Canalys机构发布的最新报告,2023年第三季度,全球智能手机市场出货量仅下跌1%,可以认为目前全球手机市场的下滑势头有所减缓。而国内线上市场的表现也类似。 根据鲸参谋数据显示,今年Q3京东平台手机累计销量约1100万件&#xf…

MYSQL学习笔记1-window安装mysql5.7

1.下载安装包 官网下载:MySQL :: Download MySQL Installer (Archived Versions) 第一个是在线安装,不下载这个;我们下载第二个 2. 安装mysql 1)选择自定义安装 双击下载的msi文件 “Developer Default”是开发者默认 “Server o…

RK3568平台开发系列讲解(驱动篇)Linux 中断实验

🚀返回专栏总目录 文章目录 一、中断处理函数二、request_irq 函数三、中断号四、free_irq 函数五、中断使能与禁止函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 内核提供了完善的中断框架,我们只需要申请中断,然后注册中断处理函数即可,使用非常方便…

Spring核心扩展点BeanDefinitionRegistryPostProcessor源码分析

我们知道,只要在一个Java类上加上Component、Service、Controller等注解,就可以被加载到Spring容器中,除了以上方式,加了Bean和Import好像也可以将对象添加到Spring容器中,究竟Spring是如何实现这些功能的呢&#xff1…

YAPI介绍及Docker Compose部署指南

我们团队的项目最初前后端是同一个开发人员在做,因此并不存在提供详细接口文档等问题。随着项目的不断迭代,团队规模逐渐扩大,我们决定将前后端分开,专门由专业的前端和后端人员进行开发工作。然而,这样的改变也带来了…

多线程下的单例设计模式(新手必看!!!)

在项目中为了避免创建大量的对象,频繁出现gc的问题,单例设计模式闪亮登场。 一、饿汉式 1.1饿汉式 顾名思义就是我们比较饿,每次想吃的时候,都提前为我们创建好。其实我记了好久也没分清楚饿汉式和懒汉式的区别。这里给出我的一…

MyCat 2全套学习笔记(完整配置【主从+集群】+理论解析 + 大厂真实业务理解)

目录 入门概述 MyCat概念 MyCat的作用 读写分离 数据分片 多数据源整合 MyCat 解决问题的思路 MyCat 和MySQL的区别 MyCat原理 MyCAT2的安装 前言 下载压缩包和jar包 安装MyCAT2 创建/data/tools 进入/data/tools目录 下载 下载完成 解压并移动到data目录下 修改权限 把所需…

【工具】利用ffmpeg将网页中的.m3u8视频文件转化为.mp4格式

目录 0.环境 1.背景 2.前提 3.详细描述 1)在网站上找到你想下载的视频的.m3u8链接 2)打开命令行,用ffmpeg命令进行转化 3)过程&结果截图 0.环境 windows64 ffmpeg 1.背景 网页上有个.m3u8格式的视频文件,…

ZKP3.2 Programming ZKPs (Arkworks Zokrates)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 3: Programming ZKPs (Guest Lecturers: Pratyush Mishra and Alex Ozdemir) 3.3 Using a library ( tutorial) R1CS Libraries A library in a host language (Eg: Rust, OCaml, C, Go, …)Key type: constraint system Mai…

Jmeter —— 接口之间关联调用(获取上一个接口的返回值作为下一个接口的请求参数)

正则表达式: 具体如何操作: 1. 草稿保存, 此请求的响应数据的id 为发布总结的请求参数draft_id 2. 草稿保存的响应数据 3.在草稿保存的请求中,添加后置处理器- 正则表达式提取器, 提取响应数据的id信息 4. 发布总结请…