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

CICD之Git版本管理及基本应用

   CICD:持续集成,持续交付--让对应的资料,对应的项目流程更加规范--提高效率

     CICD 有很多的工具 GIT就是其中之一

1.版本控制概念与环境搭建

                GIT的概念:

                 Git是一款分布式源代码管理工具(版本控制工具) ,一个协同的工具。 Git得其数据更像是一系列微型文件系统的快照。使用Git,每次提交或保存项目状态时,Git基本上都会记录当时所有文件的外观,并存储对该快照的引用。为了提高效率,如果文件没有改变,Git不会再次存储文件。

首先做一件事情有可能是一个人做,也有可能是多个人做。当多个人做的时候,我们称之为: 协同 。往往很多问题就存在人多的时候要进行对应的管理,我们该怎么做呢

                常规的操作: 通过在线文档或者群聊消息进行发送文档的操作。

                自动化测试:通过GIT进行在线管理,可两者同时进行操作,通过GIT工具会主动将文件                  进行合并

  1. 测试用例:在线文档 --- 共享
  2. 代码怎么去进行实现呢?--- 用到对应的版本管理工具Git --- 存档、共享

Git环境搭建:

        https://git-scm.com/download/win

        安装git

        配置当前用户的个人信息

git config --global user.name "用户名"
git config --global user.email "邮箱

                  检查:

                

git config --list

        

2.获取Gitee私钥和公钥

                在Gitee 中对应的仓库分为:公有和私有的,当你设置了项目对应的权限即要进行配置对应的私钥和公钥,所以首先获取对应的私钥和公钥,用于身份验证和安全性的加密工具

        公钥:公钥是一种加密密钥,用于将数据加密为只有对应的私钥可以解密的形式。在 Gitee 中,你会生成一个公钥并将其上传到你的账户。公钥是公开的,任何人都可以访问。它用于验证你的身份并允许其他人加密数据,使其只有你的私钥才能解密。

私钥:私钥是与公钥配对的密钥,用于解密被公钥加密的数据。私钥是保密的,并且应该只有你本人知道。在 Gitee 中,你的私钥存储在你的本地计算机上,用于对你的身份进行验证和对数据进行解密

生成公钥并查看

        

在终端输入命令: ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"

                ed25519 为加密方式。

xxxxx@xxxxx.com 只是生成的 sshkey的名称,并不约束或要求具体命名为某个邮箱(建议用Gitee的邮箱)

                第一个回车:设置保存的位置(默认地址即可)

                第二个回车:设置密码(不设置即可)

                第三个回车:确认密码(不设置即可

        

非空仓库操作

        1.拉取仓库的数据
 

                1. 新建一个文件夹,并在当前文件夹打开终端(CMD);

                2. 拉取对应的数据到当前的文件中,输入如下命令

                        

# git clone SSH路径
git clone git@gitee.com:XXXXXX/test-cicd5.git

                

2.更新仓库的数据

常用的操作:

把全新的资料直接更新到仓库(Gitee)当中

把修改后的资料更新到仓库(Gitee)当中

总结:本地仓库必须有更新才能提交到仓库当中

操作步骤:

        1.首先进入到对应的仓库当中,如上 test-cicd5

        

cd test-cicd5

        2.新建一个文件或者文件夹在该目录下,然后输入如下命令

        

# 1. 将文件的更改添加到暂存区,. 代表提交当前文件夹下的所有内容
git add .
# 2. 用于将暂存区中的更改提交到版本历史记录中,并附加一条简短的提交消息
git commit -m "msg"
# 3. 本地代码库的提交推送(push)到远程代码库
git push <远程仓库名称> <分支名称>

                

 

假如有多个文件

        

空仓库操作

                操作步骤

                1. 新建文件夹并且进入到该目录
                2. 初始化仓库: git init

                3. 新建文件: touch 文件名 ,该命令Mac和Linux可用;Win手动右击新建文件。

                4. 添加文件: git add 文件名 ,只提交当中的具体文

                 5. 确认将暂存区中的更改提交到版本历史记录中,

                        并附加提交消息: git commit -m "first commit"

                6. 绑定远程仓库并且取别名为

             origin: git remote add origin git@gitee.com:XXXXXX/test-cicd2.git

                7. 提交到远程仓库: git push -u 远程仓库别名 "本地分支名称"

                例如

                

mkdir test-cicd2
cd test-cicd2
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:XXXXXX/test-cicd2.git
git push -u origin "master

多个人操作仓库的问题

                修改的不是同一个文件

                    直接拉取最新的代码即可

                修改同一文件         

        思路:线上的仓库有变动同时两个人修改是同一个文件,按照场景一的方式能够解决问题但             是如果代码量多就会比较复杂。

                操作步骤

               方法一: 当出现异常,直接: git pull 会把你线上的东西和本地东西进行合并;去进行

              取舍,正常提交即可

                方法二:

1. 使用 git branch 新建分支名 创建一个新分支并且默认指向当前的本地分支;

2. 通过 git log 查看日志,确定上次正常处理的 commit-id ,比如上个用户提交的 ; 按 q 退出日志查看;

3. 按照commit-id进行回滚: git reset --hard commit-id ;让当前的主分支回到一个正常提交的版本;

4. 让当前分支拉取最新代码: git pull ;

5. 合并分支: git merge 新建分支名 ,进行取舍;(将线上的分支和备份的test分支进行合并)

6. 取舍完毕之后按照的操作进行提交即可

删除分支

要删除新建的分支,确保您当前位于分支列表中的其他分支,而不是要删除的分支

使用 git branch -d 命令
 

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

相关文章:

  • Python作用域及其应用
  • 谷歌上架,应用被Google play下架之后,活跃用户会暴跌?这是为什么?
  • web安全渗透测试十大常规项(一):web渗透测试之Fastjson反序列化
  • Unity 3D软件下载安装;Unity 3D游戏制作软件资源包获取!
  • PyTorch之nn.Module与nn.functional用法区别
  • 2024.06.24 校招 实习 内推 面经
  • 【C++】using namespace std 到底什么意思
  • 基于ESP32 IDF的WebServer实现以及OTA固件升级实现记录(三)
  • 116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台
  • Android - Json/Gson
  • 盲信号处理的发展现状
  • 二轴机器人装箱机:重塑物流效率,精准灵活,引领未来装箱新潮流
  • 使用python做飞机大战
  • Python面向对象编程:派生
  • 华为仓颉编程语言
  • 【微信小程序开发实战项目】——如何制作一个属于自己的花店微信小程序(2)
  • 解锁数据资产的无限潜能:深入探索创新的数据分析技术,挖掘其在实际应用场景中的广阔价值,助力企业发掘数据背后的深层信息,实现业务的持续增长与创新
  • Bridging nonnull in Objective-C to Swift: Is It Safe?
  • 算法训练 | 图论Part1 | 98.所有可达路径
  • 【JVM基础篇】垃圾回收
  • Spark join数据倾斜调优
  • YOLOv5初学者问题——用自己的模型预测图片不画框
  • 【linux学习---1】点亮一个LED---驱动一个GPIO
  • Redis分布式锁代码实现详解
  • Day01-02-gitlab
  • PyCharm远程开发配置(2024以下版本)
  • 解决Ucharts在小程序上的层级过高问题
  • 重保期间的网站安全防护:网站整站锁的应用与实践
  • Qt自定义类型
  • UE4_材质_材质节点_DepthFade