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 命令

相关推荐
sam_文刀1 小时前
git合并分支的疑问
git
dami_king2 小时前
新手怎么使用GitLab?
运维·git·svn·云原生·gitlab·github
天亮有惊喜3 小时前
Git、Gerrit的使用记录(待完善)
git·ci/cd·gerrit
Huazzi.4 小时前
使用Git从Github上克隆仓库,修改并提交修改
git·学习·github
等风来不如迎风去1 天前
【ubuntu】切换shell并显示git分支名字
git·ubuntu·elasticsearch
许墨の小蝴蝶2 天前
git常用的命令
git
听忆.2 天前
Git的安装配置及使用(超详细!!!)
git
jk_1012 天前
MATLAB中添加 Git 子模块
git·matlab
x118191302 天前
Git+Maven+Jenkins的增量发布
java·git·jenkins·maven