【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(九)-git(1)

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。

文章目录

前言

一、git是什么

二、git基本概念

三、git基本命令

总结


前言

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。


提示:以下是本篇文章正文内容,下面案例可供参考

一、git是什么

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。

在开发中,Git已成为现在主流的一种代码托管技术(版本管理工具),基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是基于Git来实现的。

Git特点
优点:

  • 适合分布式开发,强调个体;
  • 公共服务器压力和数据量都不会太大;
  • 速度快、灵活;
  • 任意两个开发者之间可以很容易的解决冲突;
  • 离线工作。

缺点:

  • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;
  • 权限控制不友好;如果需要对开发者限制各种权限的建议使用SVN。
  • Git与SVN的区别
  • SVN是集中式版本控制系统,而Git是分布式版本控制系统,Git与SVN的区别可参考Git与SVN的区别。。

二、git基本概念

  • 工作区:仓库的目录。工作区是独立于各个分支的。
  • 暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
  • 版本库:存放所有已经提交到本地仓库的代码版本
  • 版本结构:树结构,树中每个节点代表一个代码版本。

三、git基本命令

 设置全局用户名,信息记录在~/.gitconfig文件中

git config --global user.name xxx

 设置全局邮箱地址,信息记录在~/.gitconfig文件中

git config --global user.email xxx@xxx.com

 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中

git init


 查看仓库状态

git status

当我们在当前目录下创建一个新文件,查看仓库状态会提示我们新创建的文件没有添加到仓库的暂存区中!!


 将XX文件添加到暂存区

git add XX

将所有待加入暂存区的文件加入暂存区

git add .


 将暂存区的内容提交到当前分支

git commit -m "给自己看的备注信息"


 当文件被修改后

再将它添加到暂存区中 


 查看XX文件相对于暂存区修改了哪些内容

git diff XX

(注:如果修改后的文件已被添加到暂存区就查看不出来修改的区别!!)


将文件从仓库索引目录中删掉:

git rm --cached XX


查看当前分支的所有版本

git log

 

一行展示 :

git log --pretty=oneline


将代码库回滚到上一个版本:

git reset --hard HEAD^ 或 git reset --hard HEAD~
  •  往上回滚两次,以此类推:
git reset --hard HEAD^^
  • 往上回滚100个版本:
git reset --hard HEAD~100
  •  回滚到某一特定版本
git reset --hard 版本号


查看HEAD指针的移动历史(包括被回滚的版本)

git reflog


 将XX文件尚未加入暂存区的修改全部撤销

git checkout — XX或git restore XX

 

 

 


作用是将暂存区的文件从暂存区撤出,但不会更改文件

git restore --staged xxx

 当我们新创建一个文件:

添加到暂存区

 

修改另一个read.txt文件后,存入暂存区,并提交。


 我们也可以修改两个文件,只添加一个文件并提交。


 我们新创建两个文件a.txt和b.txt,然后都将它们添加到暂存区中。

并 提交到版本库。


当我们把a.txt和b.txt两个文件删除后

 我们也可以把删除a.txt和b.txt这个操作也添加进暂存区,并提交到版本库进行持久化

 此时,我们可以通过git restore --staged xxx将从工作区存入暂存区的操作撤销,然后再通过git restore xxx将xxx在工作区进行的操作进行撤销。

此时,我们删除的a.txt文件就又被我们找回来了。


总结

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。

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

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

相关文章

【Python实战因果推断】28_倾向分8

目录 Treatment Is Easy to Model Treatment Is Easy to Model 第一个例子中,治疗分配的模型相当容易建立,但干预结果的模型却比较复杂。具体来说,干预遵循伯努利分布,其概率由以下倾向得分给出: 如果您没有意识到&a…

初识CPlusPlus

前言 也是好久没写博客了,那些天也没闲着,去练题去了。实际上练题也可以写练题的博客,但是觉得太简单了些,于是就没有继续写下去。如今又回来写博客,是因为有整理了新的知识C。内容不算多,大多数都是书本上…

行至第11年,追光动画距离“中国皮克斯”还有多远?

百花奖提名名单公布后,入围最佳影片大奖的唯一一部动画电影《长安三万里》,竟然成为了获奖呼声最高的电影。 去年暑期档上映的《长安三万里》以18.24亿票房一跃成为中国影史动画电影票房亚军,虽然这个数据在今年春节档被《熊出没逆转时空》超…

WPF UI 3D 基本概念 点线三角面 相机对象 材质对象与贴图 3D地球 光源 变形处理 动作交互 辅助交互插件 系列三

WPF UI交互专题 平面图形 Path Drawing 绘图 渐变 Brush 矩阵 Transform 变形 阴影效果 模糊效果 自定义灰度去色效果 系列二-CSDN博客 1软件中的3D基本概念 WPF 中 3D 功能的设计初衷并非提供功能齐全的游戏开发平台。 WPF 中的 3D 图形内容封装在 Viewport3D 元素中&#x…

2024前端面试真题【JS篇】

DOM DOM:文本对象模型,是HTML和XML文档的编程接口。提供了对文档的结构化的表述,并定义可一种方式可以使从程序中对该结构进行访问,从而改变文档的结构、样式和内容。 DOM操作 创建节点:document.createElement()、do…

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar

13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar 0. 引言1. 关于m_colmap2. 关于m_contfbar3. 结语 0. 引言 本篇介绍下m_map中用于创建和管理颜色映射函数(m_colmap)和 为轮廓图绘制颜…

人工智能+病理组学的交叉课题,患者的临床特征如何收集与整理|顶刊专题汇总·24-07-09

小罗碎碎念 本期文献主题:人工智能病理组学的交叉课题,患者的临床特征如何收集与整理 我们在阅读文献的时候会发现,有的文章会详细给出自己的数据集分析表,分别列出训练集、验证集的数量,以及每个特征对应的患者人数。…

SpringSecurity 三更草堂学习笔记

0.简介 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比与Spring…

Retrofit框架源码深度剖析【Android热门框架分析第二弹】

Android热门框架解析,你确定不来看看吗? OkHttp框架源码深度剖析【Android热门框架分析第一弹】 Retrofit框架源码深度剖析【Android热门框架分析第二弹】 什么是Retrofit? 准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求…

【代码随想录】【算法训练营】【第59天】 [卡码110]字符串接龙 [卡码105]有向图的完全可达性 [卡码106]岛屿的周长

前言 思路及算法思维,指路 代码随想录。 题目来自 卡码网。 day 59,周五,继续ding~ 题目详情 [卡码110] 字符串接龙 题目描述 卡码110 字符串接龙 解题思路 前提: 思路: 重点: 代码实现 C语言 […

LLM大模型从入门到精通(1)--LLM基础知识介绍

1. 大语言模型 (LLM) 背景 2. 语言模型 (Language Model, LM) 1. 大语言模型 (LLM) 背景 大语言模型 (英文:Large Language Model,缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务,如文本分类、问…

绝区伍--2024年AI发展路线图

2024 年将是人工智能具有里程碑意义的一年。随着新模式、融资轮次和进步以惊人的速度出现,很难跟上人工智能世界发生的一切。让我们深入了解 2024 年可能定义人工智能的关键事件、产品发布、研究突破和趋势。 2024 年第一季度 2024 年第一季度将推出一些主要车型并…

什么是O2O?线上线下怎么完美结合?

现如今互联网技术飞速发展,智能手机普及。O2O(Online To Offline)模式已经成为一种新的商业模式,人们的生活和消费习惯也逐渐被改变。经常听到企业提到“O2O”,它究竟是什么呢?对企业有着什么魅力呢&#x…

Flutter Inno Setup 打包 Windows 程序

转载自:flutter桌面应用从开发配置到打包分发 - 掘金 (juejin.cn) 五.打包 1.创建 release 版本的应用 flutter build release 执行完成后, release包位置在项目的build->windows->runer文件夹中 2.应用程序分发 Windows 为 Windows 平台构建…

AE-关键帧

目录 关键帧操作步骤(以位置变化为例) 1.确定动画起点 2.设置起点的位置属性 3.为起点打上关键帧 4.确定动画终点 5.设置终点的位置属性 改变动画速度 1.选中所有关键帧 2.拖拽 时间反向关键帧 1.选中要反向的关键帧 2.使用时间反向关键帧 …

Apache POI、EasyPoi、EasyExcel

目录 ​编辑 (一)Apache PoI 使用 (二)EasyPoi使用 (三)EasyExcel使用 写 读 最简单的读​ 最简单的读的excel示例​ 最简单的读的对象​ (一)Apache PoI 使用 (二&…

mp4视频太大怎么压缩不影响画质,mp4文件太大怎么变小且清晰度高

在数字化时代,我们常常面临视频文件过大的问题。尤其是mp4格式的视频,文件大小往往令人望而却步。那么,如何在不影响画质的前提下,有效地压缩mp4视频呢?本文将为您揭秘几种简单实用的压缩技巧。 在分享和存储视频时&am…

算法复杂度

目录 1. 数据结构前言 1.1 数据结构 1.2 算法 2. 算法效率 2.1 复杂度的概念 3. 时间复杂度 3.1 大O的渐进表示法 3.2 时间复杂度计算示例: 3.2.1 示例1 3.2.2 示例2 3.2.3 示例3 3.2.4 示例4 3.2.6 示例6 4. 空间复杂度 4.1 空间复杂度计算示例 4.1.1 示例1 …

【Python实战因果推断】18_线性回归的不合理效果8

目录 Saturated Regression Model Regression as Variance Weighted Average Saturated Regression Model 还记得我在本章开头强调回归和条件平均值之间的相似性吗?我向你展示了使用二元干预进行回归与比较干预组和对照组的平均值是完全一样的。现在,由…