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

相关推荐
丁总学Java1 小时前
git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表
git
yylの博客4 小时前
Windows通过git-bash安装zsh
windows·git·bash·zsh
丁总学Java5 小时前
(Z Shell)zsh: no matches found: ? 使用单引号包裹
git·zsh
萌狼蓝天5 小时前
【NAS】绿联NAS+极狐Gitlab+1Panel
git
deja vu水中芭蕾10 小时前
git push origin HEAD:refs/for/分支名
git
海岛日记14 小时前
git常用操作
git
喝鸡汤14 小时前
一起学Git【番外篇:如何在Git中新建文件】
git
“αβ”14 小时前
Windows下使用git配置gitee远程仓库
git
谢家小布柔19 小时前
Git图形界面以及idea中集合Git使用
java·git
winner888121 小时前
git merge 冲突 解决 show case
java·git·git merge·git冲突