【面向就业的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.mzph.cn/diannao/43139.shtml

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

相关文章

电商项目中分与元金额单位互转实战

在Java开发中,可能遇到金额单位的转换,比如本系统用分作为金额的基本单位,对方系统用元作为金额的基本单位,这就需要进行单位转换,记录下来,方便备查。 一、分转元 分转元,分到元相差两位&…

PHP源码:新闻门户系统(附管理后台+前台)

一. 前言 今天小编给大家带来了一款可学习,可商用的,新闻门户系统 源码,支持二开,无加密。项目可以扩展为个人博客,和一些社交论坛网址。主要功能:支持文章管理,评论管理,分类管理等…

Kotlin linkedMapOf filterKeys

Kotlin linkedMapOf filterKeys fun main(args: Array<String>) {val lhm linkedMapOf<String, Any>(Pair("name", "phil"), //因为key相同都为 name&#xff0c;被后面的覆盖。Pair("year", 2024),Pair("name", "f…

大语言模型的应用探索AI Agent初探!

前言 大语言模型的应用之一是与大语言模型进行聊天也就是一个ChatBot&#xff0c;这个应用已经很广泛了。 接下来的一个应用就是AI Agent。 AI Agent是人工智能代理&#xff08;Artificial Intelligence Agent&#xff09;的概念&#xff0c;它是一种能够感知环境、进行决策…

消防认证-防火窗

一、消防认证 消防认证是指消防产品符合国家相关技术要求和标准&#xff0c;且通过了国家认证认可监督管理委员会审批&#xff0c;获得消防认证资质的认证机构颁发的证书&#xff0c;消防产品具有完好的防火功能&#xff0c;是住房和城乡建设领域验收的重要指标。 二、认证依据…

GEE代码实例教程详解:NDVI时间序列趋势分析

简介 在本篇博客中&#xff0c;我们将使用Google Earth Engine (GEE) 对MODIS NDVI数据进行时间序列趋势分析。通过分析2001年至2021年的NDVI数据&#xff0c;我们可以了解植被覆盖度随时间的变化趋势。 背景知识 MODIS数据集 MODIS&#xff08;Moderate Resolution Imagin…

Websocket在Java中的实践——整合Rabbitmq和STOMP

大纲 Rabbitmq开启STOMP支持 服务端依赖参数参数映射类配置类逻辑处理类 测试测试页面Controller测试案例 在《Websocket在Java中的实践——STOMP通信的最小Demo》一文中&#xff0c;我们使用enableSimpleBroker启用一个内置的内存级消息代理。本文我们将使用Rabbitmq作为消息代…

【Unity2D 2022:Particle System】添加拾取粒子特效

一、创建粒子特效游戏物体 二、修改粒子系统属性 1. 基础属性 &#xff08;1&#xff09;修改发射粒子持续时间&#xff08;Duration&#xff09;为3s &#xff08;2&#xff09;取消勾选循环&#xff08;Looping&#xff09; &#xff08;2&#xff09;修改粒子存在时间&…

SQL性能优化策略

发现问题 通过业务监控发现慢SQL或接口响应延迟。利用性能分析工具定位问题。 定位SQL语句 使用监控工具确定影响性能的SQL语句和表。 SQL查询变慢原因 索引失效&#xff1a;查询未使用索引或索引效率低。多表连接&#xff1a;JOIN操作导致性能下降。查询字段过多&#xf…

Monitor结构解读之EntryQ和WaitSet的区别

EntryQ&#xff08;或_EntryList&#xff09;和WaitSet&#xff08;或_WaitSet&#xff09;在Java的monitor机制中扮演着不同的角色&#xff0c;它们之间的主要区别体现在以下几个方面&#xff1a; 1. 等待原因和机制 EntryQ&#xff08;或_EntryList&#xff09;&#xff1a…

面试常考题---128陷阱(详细)

1.问题引入 分别引入了int和Integer变量&#xff0c;并进行比较 int b 128; int b1 128;Integer d 127; Integer d1 127;Integer e 128; Integer e1 128;System.out.println(bb1); System.out.println(dd1); System.out.println(ee1); System.out.println(e.equals(e1)…

刷题(day01)

1、leetcode485.最大连续1的个数 给定一个二进制数组 nums &#xff0c; 计算其中最大连续 1 的个数。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,0,1,1,1] 输出&#xff1a;3 解释&#xff1a;开头的两位和最后的三位都是连续 1 &#xff0c;所以最大连续 1 的个数是 3.…

Nginx 高效加速策略:动静分离与缓存详解

在现代Web开发中&#xff0c;网站性能是衡量用户体验的关键指标之一。Nginx&#xff0c;以其出色的性能和灵活性&#xff0c;成为众多网站架构中不可或缺的一部分。本文将深度解析如何利用Nginx实现动静分离与缓存&#xff0c;从而大幅提升网站加载速度和响应效率。 理解动静分…

昇思第18天打卡|ShuffleNet图像分类

ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作&#xff1a;Pointw…

张大哥笔记:你一旦开窍,就会发现遍地都是钱

大家有没有发现&#xff0c;穷人总是追逐眼前的利益&#xff0c;总是在追着钱跑&#xff0c;却总是赚不到钱。而富人有着长远的见识&#xff0c;追着问题跑&#xff0c;最后却赚的盆满钵满。 我们听过这样一句话&#xff0c;钱不是赚来的&#xff0c;而是帮助别人解决问题后给你…

【计算机】同步/异步

同步/异步 在计算机科学和编程中&#xff0c;“同步”&#xff08;Synchronization&#xff09;是一种机制&#xff0c;用于协调不同进程或线程之间的操作&#xff0c;以避免竞态条件&#xff08;race conditions&#xff09;、死锁&#xff08;deadlocks&#xff09;和其他并…

Qt/C++编写地图应用/离线地图下载/路径规划/轨迹回放/海量点/坐标转换

一、前言说明 这个地图组件写了很多年了&#xff0c;最初设计的比较粗糙&#xff0c;最开始只是为了满足项目需要&#xff0c;并没有考虑太多拓展性&#xff0c;比如最初都是按照百度地图写死在代码中&#xff0c;经过这几年大量的现场实际应用&#xff0c;以及大量的用户提出…

Django 新增数据 save()方法

1&#xff0c;添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…