当前位置: 首页 > news >正文

版本控制工具——git

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开 发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。

什么是git?

maven是项目管理工具,git是版本控制工具
版本控制工具的作用:

  1. 记录版本。版本(修改过的历史记录)。帮助我们将修改后的版本保存下来,后期可以保存下来,理解为一个代码仓库
  2. 团队中实现代码共享
    在这里插入图片描述
    版本控制工具:
  • CVS(听过就行)
  • SVN SubVersion(集中式的版本控制工具)
  • git 最新的,分布式的版本控制工具

集中式版本控制工具 SVN

特点:所有的历史记录都在服务器端,程序员本地不存储历史版本,结构简单。但是万一服务器崩溃了代码就没了
在这里插入图片描述

分布式版本控制工具 Git

特点:在每一个程序员的电脑上,都会安装一个客户端(本地仓库),先把代码提交到本地仓库,在推送给远程仓库
好处:每个程序员电脑都有一个仓库记录版本
在这里插入图片描述

git工作流程

本地工作流程及基本概念

在这里插入图片描述
工作区:就是你在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具中完成).
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(. git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.
版本库:工作区有一个隐藏目录 .git,是 Git 的版本库,提交暂存区代码到本地仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史记录,和其他版本做比较

完整的运行流程(本地库与远程仓库)

在这里插入图片描述

Git 基本操作

Git 常用的是以下命令:
git add 、git commit、git reset、git clone(从远程仓库把代码弄到本地)

  1. 创建仓库: D:\gitTest 自己创建文件夹
  2. 命令行窗口进入所在目录(同级)
    在这里插入图片描述
  3. 初始化仓库:git init 仓库名
    会生成.git的隐藏文件,.git是存放历史版本的记录
  4. 提交到暂存区:git add 文件名(提交指定文件)
    git add .(提交所有所有文件)
  5. 查看暂存区:git ls-files
    在这里插入图片描述
  6. 恢复暂存区的指定文件到工作区:
    git reset 文件名(撤销指定文件 )
    git reset . (撤销所有文件 )
  7. 提交到本地仓库: git commit -m 注释
  8. 查看仓库状态:git status
  9. 克隆项目:git clone 地址

idea继承git并添加项目到git仓库

1.idea集成git

在这里插入图片描述

2.初始化本地Git仓库项目

在这里插入图片描述
在这里插入图片描述
此时,在项目中生成**.git**版本控制管理文件
在这里插入图片描述

3. 添加到暂存区

添加文件到暂存区前,可以设置忽略文件功能,将不需要提交的文件排除掉.
安装ignore插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成.gitignore文件
在这里插入图片描述
先选择add添加到暂存区;再选择commit添加到本地仓库
在这里插入图片描述
最开始,颜色是红棕色,(Add)添加成功后,颜色会变成绿色;Commit之后,颜色变正常

4.Git本地库操作

1.查询历史版本记录,选中一个文件
在这里插入图片描述
2.选中某个历史版本覆盖工作区文件
git完之后,要重新commit
3.选中对应版本进行比较
在这里插入图片描述
选中历史版本与工作区进行比较
在这里插入图片描述

相关文章:

版本控制工具——git

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的…...

超详细,自动化测试实战-获取配置文件信息(实例源码)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 配置文件的类型 …...

spring 2.7.14 cors 设置 allowedOrigins(“*“)通配符 失效怎么解决

失效代码: package com.yukuanyan.searcher_web.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebM…...

一、Go的前景与优势、基础语法

Go简介 Go的公司、场景应用 公司占比: 字节跳动领先,公司内部有上万个微服务使用go来编写,不久前也开源了GO RPC框架KiteX。 同时,腾讯、百度、美团、滴滴、深信服、平安、OPPO、知乎、去哪儿、360、金山、微博、哩哔哩、七牛、…...

shell脚本循环语句

shell脚本循环语句 一.echo命令二.查看当前系统的时间--date命令三.循环语句for四.while循环语句结构五.while循环语句结构(迭代)六.continue和break 一.echo命令 echo -n 表示不换行输出 echo -e输出转义符,将转义后的内容输出到屏幕上 常…...

二叉树题目:二叉树的直径

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的直径 出处:543. 二叉树的直径 难度 3 级 题目描述 要求 给定二叉树的根结点 root \texttt{root} root,返回其直径…...

嵌入式:C高级 Day4

一、整理思维导图 二、写一个函数&#xff0c;获取用户的uid和gid并使用变量接收 三、整理冒泡排序、简单选择排序和快速排序的代码 冒泡排序 #include <myhead.h>void output(int arr[], int len); void bubble_sort(int arr[], int len);int main(int argc, const ch…...

cmake常用命令(1)——函数相关

一、function/endfunction cmake中的函数与其他语言相似&#xff0c;表示一个命令集&#xff0c;可以被重复调用。形式如下&#xff1a; function(<name> [<arg1> ...])<commands> endfunction() function&#xff1a;表示函数开始 <name>&#xf…...

阿里三年功能测试的一些感悟

一、前言 功能测试是测试工程师的基础功&#xff0c;很多人功能测试还做不好&#xff0c;就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点&#xff0c;如何自己不用心去悟&#xff0c;去研究&#xff0c;那么你的职业生涯也就停留在点点点上了。在这里&#…...

React源码解析18(4)------ completeWork的工作流程【mount】

摘要 经过上一章&#xff0c;我们得到的FilberNode已经具有了child和return属性。一颗Filber树的结构已经展现出来了。 那我们最终是想在页面渲染真实的DOM。所以我们现在要在completeWork里&#xff0c;构建出一颗离屏的DOM树。 之前在说FilberNode的属性时&#xff0c;我们…...

Kafka: 详解、使用教程和示例

Kafka: 详细介绍、使用教程和示例 什么是 Kafka&#xff1f; Kafka 是一个分布式的流处理平台&#xff0c;最初由 LinkedIn 开发&#xff0c;现已成为 Apache 基金会的顶级项目。它以高吞吐量、可靠性和可扩展性而闻名&#xff0c;被广泛应用于实时数据传输、日志收集、事件处…...

【LeetCode周赛】LeetCode第358场周赛

LeetCode第358场周赛 数组中的最大数对和翻倍以链表形式表示的数字限制条件下元素之间的最小绝对差 数组中的最大数对和 给你一个下标从0开始的整数数组nums。请你从nums中找出和最大的一对数&#xff0c;且这两个数数位上最大的数字相等。 返回最大和&#xff0c;如果不存在满…...

Node.js学习笔记-04

这第九章也是个大重点 九、玩转进程 Node在选型时决定在V8引擎之上构建&#xff0c;也就意味着它的模型与浏览器类似。 本章关于进程的介绍和讨论将会解决如下两个问题&#xff1a; 单进程单线程并非完美&#xff0c;如今CPU基本均是多核的&#xff0c;真正的服务器&#xf…...

基于dbn+svr的交通流量预测,dbn详细原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) DBN+SVR的交通流量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文将DBN+SVR用于交通流量预测…...

【第一阶段】kotlin中反引号中的函数名特点

在kotlin中可以直接中文定义函数&#xff0c;使用反引号进行调用 eg: fun main() {2023年8月9日定义的函数(5) }private fun 2023年8月9日定义的函数(num:Int){println("反引号的用法$num") }执行结果 在Java中is,in可以定义方法&#xff0c;但是在kotlin中is,in是…...

数据分析-python学习 (1)numpy相关

内容为&#xff1a;https://juejin.cn/book/7240731597035864121的学习笔记 导包 import numpy as np numpy数组创建 创建全0数组&#xff0c;正态分布、随机数组等就不说了&#xff0c;提供了相应的方法通过已有数据创建有两种 arr1np.array([1,2,3,4,5]) 或者datanp.loadt…...

数据库的游标

数据库的游标&#xff08;Cursor&#xff09;是用于在数据库中进行数据操作的一个控制结构。它类似于在编程语言中使用的指针或迭代器&#xff0c;用于遍历数据库结果集并在结果集上执行各种操作。 游标允许我们在数据库查询的结果集中逐行移动&#xff0c;并对每一行执行特定…...

【设计模式】前端控制器模式

前端控制器模式&#xff08;Front Controller Pattern&#xff09;是用来提供一个集中的请求处理机制&#xff0c;所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志&#xff0c;或者跟踪请求&#xff0c;然后把请求传给相应的处理程序。以下是这种…...

SQL | 过滤数据

4-过滤数据 4.1-使用WHERE子句 数据根据 WHERE 子句中指定的搜索条件进行过滤。WHERE 子句在表名&#xff08; FROM 子句&#xff09;之后给出。 select prod_name,prod_price from products where prod_price 3.49; 上述语句查询价格为3.49的行&#xff0c;然后输出名字和…...

【力扣每日一题】2023.8.13 合并两个有序数组

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们两个升序数组&#xff0c;让我们合并它们&#xff0c;要求合并之后仍然是升序&#xff0c;并且这个合并操作是在数组1原地修改…...

OpenClaw技能扩展实战:千问3.5-27B驱动公众号自动发布系统

OpenClaw技能扩展实战&#xff1a;千问3.5-27B驱动公众号自动发布系统 1. 为什么需要自动化公众号发布 作为一个技术博主&#xff0c;我每周都要在公众号发布2-3篇技术文章。最让我头疼的不是写作本身&#xff0c;而是发布前的繁琐流程&#xff1a;手动排版Markdown、上传图片…...

Twisted:开源栈式 JS 虚拟机(JSVMP)功能介绍、痛点、后续计划

Twisted&#xff1a;开源栈式 JS 虚拟机&#xff08;JSVMP&#xff09;功能介绍、痛点、后续计划 仓库&#xff1a;github.com/0xfffb/twisted 测试地址&#xff1a;click 定位 Twisted 是用 TypeScript 实现的栈帧式 JSVMP 工具链&#xff1a;将子集 JavaScript 编译为自定…...

AI 时代:祛魅、适应与重新定义畔

指令替换 项目需求&#xff1a;将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一&#xff0c;测试代码示例 test.c // test.c #includ…...

NFC Tool 免vip,使用联动密钥破解加密门禁卡教程

nfc门禁破解共享密钥&#xff0c;免vip使用联动密钥破解加密门禁卡 本项目将不定期更新密钥~~~~ 使用方式 方式一&#xff1a;使用本项目的 Android 扫描 APP&#xff08;推荐&#xff09; 本项目提供了一个独立的 Android 应用&#xff0c;内置密钥库&#xff0c;无需下载…...

小白友好:Local SDXL-Turbo极简使用教程,开箱即用无需复杂配置

小白友好&#xff1a;Local SDXL-Turbo极简使用教程&#xff0c;开箱即用无需复杂配置 1. 什么是Local SDXL-Turbo&#xff1f; Local SDXL-Turbo是一款革命性的AI绘画工具&#xff0c;它让"打字即出图"成为现实。不同于传统AI绘画需要等待几秒甚至几分钟&#xff…...

算力 GPU 驱动实战总结:SVM Eviction Fence 设计思想与实现细节

1. 问题背景 1.1 STALE _mapcount 问题 在 VRAM 超量分配&#xff08;overcommit&#xff09;场景下&#xff0c;当 GPU VRAM 被占满时&#xff0c;TTM 内存管理器需要驱逐&#xff08;evict&#xff09;旧的 BO 来为新的分配腾出空间。 问题&#xff1a;对于 SVM&#xff08;S…...

大厂飞手技术栈拆解:从CAAC执照到无人机“机长”的技术成长路径

一、核心事件&#xff1a;大厂飞手成为“技术蓝领”新标杆2026年&#xff0c;低空经济正式进入规模化运营阶段。美团无人机单日配送突破10万单&#xff0c;京东物流无人机覆盖全国超2000个村镇。根据猎聘大数据研究院发布的《2026中国低空经济人才发展报告》&#xff0c;低空经…...

速成正果经

慈于一切众生&#xff0c;恭敬一切众生&#xff0c;以所有世界永远无苦为方向&#xff0c;以顺一切众生的愿为方向&#xff0c;以增一切众生的慧为方向&#xff0c;以增一切众生的智为方向&#xff0c;以健一切众生的体为方向&#xff0c;以促进一切众生内心舒畅为方向&#xf…...

QWEN-AUDIO语音合成教程:中文四声调建模对自然度的关键影响

QWEN-AUDIO语音合成教程&#xff1a;中文四声调建模对自然度的关键影响 你有没有遇到过这样的语音合成效果&#xff1f;文字念得都对&#xff0c;但听起来就是“怪怪的”&#xff0c;像机器人在念稿&#xff0c;没有真人说话的那种抑扬顿挫和情感起伏。尤其是在说中文的时候&a…...

突破学术资源获取壁垒:Unpaywall开源工具全解析

突破学术资源获取壁垒&#xff1a;Unpaywall开源工具全解析 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywall-extension …...