大数据平台测试-git常用操作(白盒测试基础)

news2025/1/31 1:55:50

一、前言

学习Git是非常有价值和重要的,无论是一个个人开发者还是在团队中进行协作开发。以下是一些学习Git的原因:

  1. 版本控制:Git是目前最流行的分布式版本控制系统,可以帮助你跟踪、管理和控制代码的版本。你可以轻松地回退到先前的版本、比较不同版本之间的差异、解决代码冲突等。版本控制使你能够更安全地进行代码更改和实验,同时提供了一种备份机制,以防止代码丢失。

  2. 团队协作:在多人协作开发的项目中,Git提供了强大的分支管理功能,可以让团队成员并行开发不同的功能,然后合并他们的工作。Git可以帮助团队协调合作,避免代码冲突,并提供更好的代码合并和冲突解决机制。

  3. 分布式开发:Git是一种分布式版本控制系统,每个开发者都可以拥有完整的代码仓库副本。这使得开发者可以在没有网络连接的情况下进行工作,而且即使中央服务器出现故障,也可以从其他开发者那里获取代码。

  4. 开源项目参与:很多开源项目都使用Git作为版本控制工具。学习Git可以使你更容易参与开源项目,提交代码补丁、分支和合并请求,与其他开发者合作并贡献代码。(点评:对测试要求有点高了哈,大部分测试连开源项目怎么用都不知道,要求参与开源项目格局可以)

  5. 历史追溯和问题排查:Git记录了每个提交的详细历史,包括代码更改、作者、时间戳等。这使得你可以方便地追溯代码的演变历史,并帮助你识别和解决问题。(点评:对测试很友好,可以方便分析测试范围,再资深的测试专家也是需要范围的,毕竟测试是无穷的)

  6. 可移植性和灵活性:Git是一个跨平台的版本控制系统,支持Windows、Mac和Linux等操作系统。它可以与各种集成开发环境(IDE)和其他工具集成,为你提供更灵活的开发环境。

综上所述,学习Git可以提升你的开发效率、改善团队协作、增强代码管理和控制能力,同时为参与开源项目和面试中展示的技能提供优势。无论是个人开发还是团队协作,Git都是必备的技能之一。(点评:对测试来说,在开发代码和白盒测试方面不可或缺,也是技能提升必备)

 

二、git介绍

Git是一个分布式版本控制系统,最初由Linus Torvalds于2005年创建,用于管理和跟踪源代码的版本。它广泛用于软件开发中,可帮助开发人员在团队协作环境中管理代码,并跟踪和记录代码的变更历史。

下面是Git的一些关键特点和概念:

  1. 分布式版本控制:与传统的集中式版本控制系统不同,Git是一种分布式版本控制系统。每个开发者都可以拥有完整的代码仓库副本,这使得开发者可以在没有网络连接的情况下进行工作,并且即使中央服务器出现故障,代码仍然可用。

  2. 提交(Commit):Git中的提交是指对代码进行的一次更改。每个提交都有一个唯一的标识符(SHA-1哈希值),记录了提交的作者、时间戳、提交消息和更改的内容。提交是Git中的基本单位,它构成了代码的版本历史。

  3. 分支(Branch):Git使用分支来支持并行开发和特性隔离。每个分支都是代码仓库的一个独立副本,开发者可以在分支上进行修改,而不会影响主线(通常是主分支)。分支可以合并到其他分支,以将更改合并到主线或其他分支。

  4. 合并(Merge):合并是将一个分支的更改合并到另一个分支的操作。当开发人员在不同的分支上进行工作时,他们可以将一个分支中的更改合并到另一个分支中,以包含最新的更改。

  5. 远程仓库(Remote Repository):远程仓库是存储在网络上的代码仓库,用于团队协作和代码共享。开发者可以将本地的代码推送(Push)到远程仓库,或者从远程仓库拉取(Pull)最新的代码。

  6. 克隆(Clone):克隆是指从远程仓库复制整个代码仓库到本地。通过克隆,开发者可以获取远程仓库的最新代码并开始工作。

  7. 提交历史和回滚:Git保存了所有提交的历史记录,可以方便地查看和回滚到先前的提交。这对于追踪代码更改、排查问题和恢复到旧版本非常有用。

Git拥有强大的功能和灵活性,使开发者能够高效地管理代码和协作开发。它提供了丰富的命令行工具和各种图形界面工具(如Git客户端和集成开发环境插件),使得学习和使用Git变得更加便捷。

二、常用的 Git 命令

  1. git init: 在当前目录初始化一个新的 Git 仓库。

    git init
  2. : 克隆(Clone)一个远程仓库到本地。

    git clone <repository>
  3. git add <file>: 将文件添加到暂存区(Staging Area)。

    git add <file>
  4. git commit -m "<message>": 提交暂存区中的文件,并附带提交信息。

    git commit -m "<message>"
  5. git status: 显示工作树(Working Tree)和暂存区的状态。

    git status
  6. git log: 显示提交日志。

    git log
  7. git branch: 显示分支列表。

    git branch
  8. git checkout <branch>: 切换到指定分支。

    git checkout <branch>
  9. git merge <branch>: 将指定分支合并到当前分支。

    git merge <branch>
  10. git pull: 从远程仓库拉取最新的提交并合并到当前分支。

    git pull
  11. git push: 将本地提交推送到远程仓库。

    git push
  12. git remote add <name> <url>: 添加远程仓库。

    git remote add <name> <url>
  13. git remote -v: 显示远程仓库的详细信息。

    git remote -v
  14. git diff: 显示工作树和暂存区之间的差异。

    git diff
  15. git reset <file>: 撤销对文件的暂存操作。

    git reset <file>
  16. git revert <commit>: 撤销指定提交的更改。

    git revert <commit>
  17. git stash: 暂存当前的修改,以便稍后恢复。

    git stash

这些是 Git 中的一些常用命令,用于版本控制、分支管理、提交操作、远程仓库操作等。更多的 Git 命令和选项可以在 Git 的官方文档或者通过 git --help 命令获取。

三、IDEA git操作解读

在 IntelliJ IDEA 中,可以通过图形界面或者命令行来执行 Git 操作。以下是一些常见的 Git 操作及其在 IntelliJ IDEA 中的解读:

  1. 克隆远程仓库:

    • 在 IDEA 欢迎界面选择 "Checkout from Version Control",然后选择 "Git"。
    • 在弹出窗口中输入远程仓库的 URL,并选择本地路径。
    • 点击 "Clone" 按钮完成克隆操作。
  2. 提交更改:

    • 在项目视图中,右键点击要提交的文件或文件夹,选择 "Git" -> "Commit Directory" 或者 "Commit File"。
    • 在弹出的 Commit Changes 窗口中,填写提交信息并选择要提交的文件。
    • 点击 "Commit" 按钮提交更改。
  3. 查看修改:

    • 在项目视图中,右键点击要比较的文件或文件夹,选择 "Git" -> "Compare" -> "Against the Latest Revision"。
    • IDEA 会打开一个 Diff 窗口,显示工作树与最新提交之间的差异。
  4. 推送更改:

    • 在 IDEA 的顶部工具栏中,点击 Git 工具栏按钮。
    • 选择要推送的分支,并点击 "Push" 按钮。
    • IDEA 将会将本地的提交推送到远程仓库。
  5. 拉取更新:

    • 在 IDEA 的顶部工具栏中,点击 Git 工具栏按钮。
    • 点击 "Update Project" 图标。
    • IDEA 将会拉取远程仓库的最新提交并合并到当前分支。

这些是在 IntelliJ IDEA 中进行 Git 操作的一些常见示例。除了上述操作之外,IDEA 还提供了许多其他的 Git 功能,如创建分支、合并分支、查看日志、解决冲突等。可以通过菜单栏中的 "VCS" 或右键点击项目视图中的文件来访问这些功能

测试实践1:怎么快速知道dev分支和test分支之间的改动

答:

在 IntelliJ IDEA 中,可以使用 Git 工具来比较 dev 分支和 test 分支之间的改动。下面是一些步骤:

  1. 确保你已经在 IntelliJ IDEA 中打开了项目,并且项目已经与 Git 进行了关联。

  2. 在 IDEA 的底部工具栏上,有一个版本控制工具栏,其中包含了一些版本控制相关的操作按钮。如果你没有看到该工具栏,可以通过选择 View -> Tool Windows -> Version Control 来打开它。

  3. 在版本控制工具栏上,你会看到当前所在的分支名称。右键点击该分支名称,然后选择 "Compare with Branch"。

  4. 在弹出的对话框中,选择 test 分支作为要比较的分支。点击 "OK"。

  5. 现在,你将看到一个显示了 dev 分支和 test 分支之间改动的界面。你可以看到新增、修改和删除的文件,以及具体的代码改动。

通过上述步骤,你可以快速查看 dev 分支和 test 分支之间的改动。这样可以方便地了解两个分支之间的差异,并且可以帮助你进行代码审查和合并操作

测试实践2:解读下 git 的show Diff with Working Tree

 答:

git show diff with working tree 是一个 Git 命令,用于显示当前工作树(Working Tree)与最新提交(HEAD)之间的差异。

具体解读如下:

  1. git: Git 命令行工具。

  2. show: Git 的一个子命令,用于显示各种对象的信息,包括提交、分支、标签等。

  3. diff: show 命令的一个选项,表示显示差异(diff)信息。

  4. with Working Tree: 这部分表示与当前工作树进行比较,即与最新的代码变更之间的差异。

总体而言,git show diff with working tree 命令用于展示当前工作树中与最新提交之间的变更内容,以便开发者了解当前的修改情况。它会显示文件的增删改等变更,并提供相应的差异比较。

四、PyCharm git操作解读

在 PyCharm 中,可以通过图形界面或者命令行来执行 Git 操作。以下是一些常见的 Git 操作及其在 PyCharm 中的解读:

  1. 克隆远程仓库:

    • 在 PyCharm 欢迎界面选择 "Check out from Version Control",然后选择 "Git"。
    • 在弹出窗口中输入远程仓库的 URL,并选择本地路径。
    • 点击 "Clone" 按钮完成克隆操作。

     

  2. 提交更改:

    • 在项目视图中,右键点击要提交的文件或文件夹,选择 "Git" -> "Commit Directory" 或者 "Commit File"。
    • 在弹出的 Commit Changes 窗口中,填写提交信息并选择要提交的文件。
    • 点击 "Commit" 按钮提交更改。
  3. 查看修改:

    • 在项目视图中,右键点击要比较的文件或文件夹,选择 "Git" -> "Show Diff"。
    • PyCharm 会打开一个 Diff 窗口,显示工作树与最新提交之间的差异。
  4. 推送更改:

    • 在 PyCharm 的顶部工具栏中,点击 Git 工具栏按钮。
    • 选择要推送的分支,并点击 "Push" 按钮。
    • PyCharm 将会将本地的提交推送到远程仓库。
  5. 拉取更新:

    • 在 PyCharm 的顶部工具栏中,点击 Git 工具栏按钮。
    • 点击 "Update Project" 图标。
    • PyCharm 将会拉取远程仓库的最新提交并合并到当前分支。

这些是在 PyCharm 中进行 Git 操作的一些常见示例。除了上述操作之外,PyCharm 还提供了许多其他的 Git 功能,如创建分支、合并分支、查看日志、解决冲突等。可以通过菜单栏中的 "VCS" 或右键点击项目视图中的文件来访问这些功能。

五、VS code git操作解读

在 Visual Studio Code (VS Code) 中,你可以使用内置的 Git 集成进行版本控制和执行各种 Git 操作。以下是一些常见的 Git 操作及其解读:

  1. 克隆远程仓库:

    • 打开 VS Code,并点击左侧的源代码管理图标(Git 图标)。
    • 点击 "Clone Repository",然后输入远程仓库的 URL。
    • 选择本地路径,并点击 "Clone" 完成克隆操作。
  2. 提交更改:

    • 在源代码管理视图中,可以看到已修改的文件。
    • 点击文件旁边的加号图标将文件添加到暂存区。
    • 在 "Message" 输入框中填写提交信息。
    • 点击勾号图标或者使用快捷键 Ctrl+Enter 来提交更改。
  3. 查看修改:

    • 在源代码管理视图中,可以看到已修改的文件。
    • 点击文件名或者展开文件旁边的下拉箭头来查看修改的详细内容。
  4. 推送更改:

    • 在源代码管理视图中,点击左上角的三个点图标。
    • 选择要推送的分支,并点击 "Push" 完成推送操作。
  5. 拉取更新:

    • 在源代码管理视图中,点击左上角的三个点图标。
    • 选择要拉取更新的分支,并点击 "Pull" 完成拉取操作。

除了上述操作之外,VS Code 还提供了许多其他的 Git 功能,如创建分支、合并分支、查看历史记录、解决冲突等。你可以在源代码管理视图中通过右键点击文件或文件夹来访问这些功能。

在 VS Code 中,你还可以通过终端窗口使用 Git 命令行工具执行更高级的 Git 操作。在 VS Code 的顶部菜单栏中选择 "View" -> "Terminal" 来打开终端窗口,然后输入 Git 命令并执行。

六、总结

不同工具下的git使用差不多。这几个命令是最常用的:

git show diff with working tree -- IDEA中用来合并test分支准备发版的

Compare with Branch   -- IDEA中用来对比分支的改动的

 

 用来看谁提交了什么代码,以及当前版本和基准对比的改动:

总而言之,测试掌握git,能够最大消除开发测试信任误差 ,精准测试范围,提高同频对话能力,为迭代质量保驾护航。

2023年7月17笔

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gee架设教程

1:GameCenter 设置 1.1服务器控制 1.2 账号 1.3.1 配置向导 - 基本设置 1.3.2 配置向导 - 登录网关 1.3.3 配置向导 - 角色网关 1.3.4 配置向导 - 游戏网关 1.3.5 配置向导 - 登录服务器 1.3.6 配置向导 - 数据库服务器 1.3.7 配置向导 - 日志服务器 1.3.8 配置向导 - 主服务器…

SAP/ABAP(一)

一、什么是ERP ERP 是企业资源规划&#xff08;Enterprise Resource Planning&#xff09;的缩写&#xff0c;它指的是一种集成化的管理软件系统&#xff0c;用于协调企业内部各个部门的活动&#xff0c;并与外部供应商、客户以及其他利益相关方进行信息和业务流程的交互。 二、…

4.4.tensorRT基础(1)-模型推理时动态shape的具体实现要点

目录 前言1. 动态shape2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 基础-模型推理时动态 shape 的…

科大讯飞星火认知大模型实在是太牛逼了吧,可以和人类进行自然交流,解答问题,高效完成各领域认知智能需求。

星火认知大模型&#xff1a;探索人工智能的无限可能 在21世纪的今天&#xff0c;人工智能技术已经逐渐成为推动社会发展的重要力量。作为一种模拟人类智能的技术手段&#xff0c;人工智能在各个领域都展现出了强大的应用潜力。而在这个领域中&#xff0c;星火认知大模型无疑是…

awk用法--一次性匹配文件中的多个文本,保存成不同的参数

功能描述&#xff1a; 需要从某个文件中读取多个指标的数据&#xff0c;并保存下来&#xff0c;读取的时候需要一次性读取出多个数据&#xff0c;之后将数据写入到结果文件 代码示例 主要逻辑&#xff1a; 1、 匹配包含MemTotal的字符串&#xff0c;并将匹配到的行的倒数第二列…

【电子学会】2023年05月图形化三级 -- 绘制多彩五角星

绘制多彩五角星 1. 准备工作 &#xff08;1&#xff09;选择背景stars、角色Pencil&#xff1b; &#xff08;2&#xff09;将角色Penci的中心点设为笔尖。 2. 功能实现 &#xff08;1&#xff09;将画笔粗细设为3&#xff0c;画笔的颜色和初始位置自定义&#xff0c;绘制边…

【gis插件】arcgis插件界址点编号工具、C#实现思路

数据&#xff1a;界址点图层、宗地图层 要求&#xff1a;找出宗地对应的所有界址点号&#xff0c;对这些界址点号以J1开始按顺序排列 要找出宗地所对应的所有界址点号&#xff0c;这里只要执行一个标识 即可得到这样得到的结果。 难点在于对界址点的编号&#xff0c;经过检查…

c语言小项目——通讯录初阶

通讯录中阶&#xff1a;点这里 通讯录&#xff08;初阶&#xff09; 项目简介项目中遇到的难点1.给复杂结构体初始化错误写法正确写法 2.枚举和switch可以结合一下&#xff0c;方便查看switch的case中是什么功能&#xff0c;double3.ShowContact中printf的新认知4.FindByName加…

Vue 打包到生产环境部署后图标不见了

问题描述&#xff1a;打包完后部署到正式环境有些图标不显示&#xff0c;如下图&#xff0c;显示为小方块。 解决方案&#xff1a; 这个问题可能是vue-cli脚手架配置问题 在build/webpack.prod.conf.js中 把extract&#xff1a;true 改为 fasle&#xff0c;然后再重新build就…

商城-学习整理-基础-项目简介和分布式概念(一)

目录 前言&#xff1a;一、项目简介1、项目背景2、项目架构图 二、分布式基础概念1、微服务2、集群&分布式&节点3、远程调用4、负载均衡5、服务注册/发现&注册中心6、配置中心7、服务熔断&服务降级8、APP网关 前言&#xff1a; 该项目基于逆向工程进行开发&am…

nginx+lua+redis环境搭建(文末赋上脚本)

目录 需求背景 环境搭建后nginx和redis版本 系统环境 搭建步骤 配置服务器DNS 安装ntpdate同步一下系统时间 安装网络工具、编译工具及依赖库 创建软件包下载目录、nginx和redis安装目录 下载配置安装lua解释器LuaJIT 下载nginx NDK&#xff08;ngx_devel_kit&#xff09…

51单片机学习--独立按键控制LED

功能&#xff1a;按下K1时D1亮&#xff0c;松开时D1灭&#xff0c;P3_1对应K1 , P2_0对应D1 #include <REGX52.H>void main() {while(1) {if(P3_1 0) //按下K1{P2_0 0;}else{P2_0 1;}}} 按下按钮和松开按钮时会有抖动&#xff0c;所以需要用延时函数来避免抖动造成的…

C国演义 [第十章]

第十章 最佳买卖股票时机含冷冻期题目理解步骤dp数组递推公式初始化遍历方向 代码 买卖股票的最佳时机含手续费题目理解步骤dp数组递推公式初始化遍历方向 代码 最佳买卖股票时机含冷冻期 力扣链接 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格…

瀚高数据库企业版V4单机版-安装手册(Windows)

目录 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 2. 软件安装 3.设置环境变量 4 配置数据库文件 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 ①.安装数据库之前&#xff0c;请确保vcredist_x6…

鸽了百万用户四年的赛博皮卡终于要来啦

作者 | Amy 编辑 | 德新 本月15号&#xff0c;特斯拉官方宣布&#xff0c;第一辆 赛博皮卡已在特斯拉得州工厂下线。 而就在本月初&#xff0c;马斯克还发推预热了一波&#xff0c;「开着赛博皮卡在奥斯汀&#xff08;特斯拉得州工厂所在地&#xff09;溜了一圈&#xff01…

网页动态表单 ,网页动态参数

有的时候因为参数太多 无法 一一 创建 所有采用动态创建 自己遇到的一个实际情况今天写个例子 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>form demo</title><link rel"stylesheet" href&quo…

Windows查看电脑出厂时间

方法一&#xff1a;CMD命令查询 CMD输入命令 >systeminfoBIOS版本时间大概就是出厂时间

基于Mybatis-Plus的代码自动生成器

代码自动生成器 由于在普通业务开发中大多数增删改查操作都是重复的大量的&#xff0c;修改的内容也是相当的少&#xff0c;就如一个模版一样。所以在此构造一个基于Mybatis-Plus的代码生成器&#xff0c;旨在于快速生成项目结构和基础代码。 1、搭建环境 新建一个Springboo…

C语言实现通讯录——动态内存

好与不好&#xff0c;干嘛从别人口中找答案 大家好&#xff0c;我是纪宁。 考试周过去了&#xff0c;刚放暑假也陆陆续续有一些事&#xff0c;这两天才开始静下心来好好学习。希望你我都能过一个充实且快乐的暑假&#xff01; 今天的文章是用C语言实现一个动态版的通讯录 文章…

ARM基础(5):内存屏障的必要性、内存类型和内存排序

在我们写代码的过程中&#xff0c;经常会发现在SDK中会出现__ISB()或__DSB()等语句&#xff0c;这也做的目的是建立一个内存屏障&#xff0c;内存屏障可以由处理器内的硬件操作或内存屏障指令触发&#xff0c;它能够让CPU或编译器对屏障指令之前和之后的内存操作施加排序约束。…