版本控制工具——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.选中对应版本进行比较
在这里插入图片描述
选中历史版本与工作区进行比较
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPv4分组

4.3.1 IPv4分组 IP协议定义数据传送的基本单元——IP分组及其确切的数据格式 1. IPv4分组的格式 IPv4分组由首部和数据部分(TCP、UDP段)组成,其中首部分为固定部分(20字节)和可选字段(长度可变&#xff0…

【Java】使用JavaSE实现图书管理系统详解

目录 1.前言 2.初步框架搭建 3.Book 书架和书架里的书 3.1书本 3.2书架 4.User 用户和管理员 4.1初步想法 4.2用户 4.3管理员 4.4main函数中如何调用不同的成员 5.方法的调用 5.1接口 5.2增加图书 5.3借阅图书 5.4删除图书 5.5退出系统 5.6查找图书 5.7归还图书…

ArrayList浅拷贝clone,Kotlin

ArrayList浅拷贝clone&#xff0c;Kotlin import kotlin.collections.ArrayListfun main() {var list ArrayList<MyData>()for (i in 0..<3) {list.add(MyData(i, 0))}//浅拷贝list到copyListvar copyList list.clone()println(list)println(copyList)println("…

arcgis数据采集与拓扑检查

1、已准备好一张配准好的浙江省行政区划图&#xff0c;如下&#xff1a; 2、现在需要绘制湖州市县级行政区划。需要右击文件夹新建文件地理数据库&#xff0c;如下&#xff1a; 其余步骤均默认即可。 创建好县级要素数据集后&#xff0c;再新建要素类&#xff0c;命名为县。 为…

电脑系统重装日记

重装原因 电脑C盘几乎爆炸故重装系统一清二白 此片原因 记录重装过程&#xff0c;强调一些要注意的点&#xff0c;以防日后重装。 重装过程 1.清空电脑文件后重启&#xff0c;电脑冒蓝光&#xff0c;一直蓝屏反复重启&#xff0c;故只能重装系统以解难题。 2.准备一个U盘&…

Pyinstaller 打包 django 项目如何将命令行参数加入?

起因 Pyinstaller 打包 django 项目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 来运行感觉很不方便。 希望能够直接把命令行参数也打包进去&#xff0c;直接运行 exe 。我走了些弯路&#xff0c;但最终实现了。 弯路 我看…

odoo16 tree视图没有导出按钮

odoo16 tree视图没有导出按钮 做了一个odoo应用,很奇怪,同样的角色,不同的用户,有些有导出按钮,有些没有,一直没搞清楚为啥, 今天刚好有时间,好好研究一下. 1 先按浏览器F12,导出按钮对应的html: <button type"button" class"btn btn-secondary fa fa-dow…

实现两个table一起滚动的效果

效果 代码 css相关 重点是.head-box .body-box-right .body-box-left 三个类的设置 .box {display: flex;justify-content: flex-start;}table {width: 500px;}tr,th {display: flex;justify-content: space-around;align-content: space-around;height: 50px;}td {width: 8…

Golang-使用 gvm 进行版本控制

当你想为每个项目切换 go 版本时&#xff0c;gvm (Go Version Manager) 很方便。 这里&#xff0c;我将介绍“如何在Mac上安装gvm”和“如何使用gvm” 使用准备 仅适用于 Mac 的准备工作 按照MacOSX 要求中的说明执行以下命令。 xcode-select --install brew update brew …

Leetcode链表篇 Day2

203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 1.暴力移除&#xff1a;分删除的为头结点和不为头节点 while删除头节点时&#xff1a;直接从下一个结点开始&#xff0c;headhead->next while不是头节点时&#xff1a;从head开始遍历(需记录的为 前继结点pre) 虚…

8.14 刷题【7道】

二叉树 1. 树中两个结点的最低公共祖先 原题链接 方法一&#xff1a;公共路径 分别找出根节点到两个节点的路径&#xff0c;则最后一个公共节点就是最低公共祖先了。 时间复杂度分析&#xff1a;需要在树中查找节点&#xff0c;复杂度为O(n) /*** Definition for a binary…

时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于GRU门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 1.Matlab实现GRU门控循环单元时间序列预测未…