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 小时前
GitPython03-项目setup编译
git·python·setup
liux35285 小时前
DevOps 实践指南:Git 版本控制从入门到精通
git
一念&20 小时前
Git 与 GitHub 的对比与使用指南
git·github
我是李武涯1 天前
svn与git Merge重要区别讲解
git·svn
ん贤1 天前
Git分支
git
迷你二鹏1 天前
前端之Git
前端·git
哈里谢顿1 天前
常见 git push 问题及解决方案
git
MarkGosling1 天前
【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务
运维·git·docker·容器·开源·github·个人开发
Aomnitrix1 天前
【分布式版本控制系统】Git的使用
分布式·git
向上的车轮2 天前
SVN与GIT的区别,分别使用与哪些管理场景?
git·svn