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"

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

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

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

例如

python 复制代码
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 命令

相关推荐
研究是为了理解2 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT3 小时前
Git 的基本概念和使用方式
git
Winston Wood6 小时前
一文了解git TAG
git·版本控制
喵喵先森6 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5438 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio10 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。11 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie612 小时前
在IDEA中使用Git
java·git
晓理紫21 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿1 天前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git