Git 基础使用(1) 入门指令

文章目录

  • Git 作用
  • Git 安装
  • Git 使用
    • Git 仓库配置
    • Git 工作原理
    • Git 修改添加
    • Git 查看日志
    • Git 修改查询
    • Git 版本回退
  • 概念补充

Git 作用

Git 是一种分布式版本控制系统,它旨在追踪文件和文件夹的更改,并协助多人协作开发项目。

Git 安装

(Linux-ubuntu)

# 安装指令
sudo apt-get install git -y 
# 查看是否安装成功
git --version

Git 使用

Git 仓库配置

(Linux-Ubuntu)

// 创建⼀个 Git 本地仓库
// 仓库是进⾏版本控制的⼀个⽂件⽬录
// 执行后会在当前目录下创建一个 .git 隐藏文件夹
git init// 配置 Git 
// Your Name 为用户名称
//  --global 为可选项,如果加上,表示本主机上所有Git仓库都会用这个配置
git config [--global] user.name "Your Name" 
//  email@example.com 为用户邮箱
git config [--global] user.email "email@example.com"// 查看当前配置
git config -l// 取消设置
git config [--global] --unset user.name
git config [--global] --unset user.email

Git 工作原理

Git ⽐其他版本控制系统设计得优秀,因为 Git 跟踪并管理的是修改操作,⽽⾮⽂件。修改包括增、删、改。

Git 修改添加

⼯作区:是在电脑上你要写代码或⽂件的⽬录
暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们把暂存区有时也叫作索引(index)。
版本库:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽是 Git 的版本库。这个版本库⾥⾯的所有⽂件都可以被 Git 管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原“。

在这里插入图片描述
在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀。当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。当执⾏提交操作 git commit 时,master 分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。

文件添加的具体操作:

# 将工作区的指定文件加入暂存区  
# git 也有其他用法如添加目录进暂存区等等
git add [file1] [file2]
# 将暂存区内容添加到本地仓库
# message为添加内容时的提示信息,不能被省略
# git
git commit -m "message"

Git 查看日志

## 查看提交日志
git log 

在这里插入图片描述
结果解释: 黄色字体为 commit id , 其他包括用户名、邮箱、提交时间、更新提示等等

Git 修改查询

# 验证上次提交后有没有对文件进行过修改
git status
# 显⽰暂存区和⼯作区⽂件的差异
git diff [file]
# 查看版本库和⼯作区⽂件的区别。
git diff HEAD -- [file]

在这里插入图片描述

Git 版本回退

git reset 命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下“回退”本质是要将版本库中的内容进⾏回退。

# git reset 命令⽤于回退版本git reset [--soft | --mixed | --hard] [HEAD]
/*
--mixed 为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。--soft 参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。--hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重
*/# 仅将工作区内容回退到最近⼀次 add 或 commit 时的状态
git checkout -- [file]  /*   [HEAD]HEAD 表⽰当前版本
HEAD^ 上⼀个版本
HEAD^^ 上上⼀个版本HEAD~0 表⽰当前版本
HEAD~1 上⼀个版本
HEAD^2 上上⼀个版本*/

Git 基础使用(2)分支管理

概念补充

.git 目录中,一些关键文件/ 目录 的介绍。

index: 暂存区, git add 后会更新该内容。
HEAD: 默认指向 master 分⽀的⼀个指针。
refs/heads/master: ⽂件⾥保存当前 master 分⽀的最新 commit id 。
objects: 包含了创建的各种版本库对象及内容,可以简单理解为放了 git 维护的所有修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Go 处理错误异常

在Go语言中错误和异常是两个完全不同的概念,错误指的是可能出现问题的地方出现了问题,而异常指的是不该出现问题的地方出现了问题 从Go语言的机制上讲错误和异常就是error 和panic的区别 错误(Error):程序中预期会发生…

17.多线程

多线程 程序、进程、线程的概念 程序:是指令和数据的有序集合,是一个静态的概念。比如,在电脑中,打开某个软件,就是启动程序。 进程:是执行程序的一次执行过程,是一个动态的概念,…

c# 实现每个整数分钟执行一次的定时任务

StartAsync 方法中,计算了下一个整数分钟的时间,然后使用 System.Threading.Timer 类创建定时器,并将首次触发时间设为该时间。在 InsertDB2Async 方法中,我们定义了要执行的操作,然后使用 await Task.Delay(1000) 模拟…

mongo副本集本地部署

介绍 前言: mongodb 因为高性能、高可用性、支持分片等特性,作为非关系型数据库被大家广泛使用。其高可用性主要是体现在 mongodb 的副本集上面(可以简单理解为一主多从的集群),本篇文章主要从副本集介绍、docker搭建…

blender渲染时导致cpu高负载的可能因素

Blender 在进行渲染时(尤其是在使用 Cycles 渲染引擎时)通常会导致 CPU 高负载的原因主要有以下几个: 渲染计算:Blender 的 Cycles 渲染引擎是一种基于光线追踪的渲染引擎,它通过追踪光线在场景中的传播来生成图像。这…

基于SSM的“口腔护理网站”的设计与实现(源码+数据库+文档)

基于SSM的“口腔护理网站”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 首页 用户注册页面 医生信息查看模块 口腔护理预约模块 后台首页面…

分享如何通过定时任务调用lighthouse前端测试脚本+在持续集成测试中调用lighthouse前端测试脚本

最近写了个小工具来优化lighthouse在实际工作中的使用,具体实现了:通过定时任务调用前端测试脚本在持续集成测试中调用前端测试脚本。由于在公司中已经应用,所以就不能提供源码了,这里简单说一下实现思路,希望可以帮助…

Java 循环结构 - for, while 及 do...while

Java 循环结构 - for, while 及 do…while 顺序结构的程序语句只能被执行一次。 如果您想要同样的操作执行多次,就需要使用循环结构。 Java中有三种主要的循环结构: while 循环 do…while 循环 for 循环 在 Java5 中引入了一种主要用于数组的增强型 f…

前端面试题日常练-day04 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备&#xff0c;答案在文末。 1. 下列哪个 CSS 单位可以根据用户的首选字体大小进行调整&#xff1f; A) pxB) emC) remD) vw2. HTML5 中的<video>元素用于什么&#xff1f; A) 播放音频文件B) 嵌入外部网页内容C) 显示图…

Debezium日常分享系列之:Debezium 2.7.0.Alpha2发布

Debezium日常分享系列之&#xff1a;Debezium 2.7.0.Alpha2发布 新功能和改进1.Oracle ROW_ID 包含在更改事件中2.带有 JDBC 接收器的 PostreSQL 数组3.Oracle 使用自定义模式名称刷新表4.使用 JWT/seed 进行 NATS 身份验证5.Oracle 大量表查询过滤器 新功能和改进 1.Oracle R…

OUC图书馆电脑开启无线网络,连接手机热点,解决联网但无法访问网络的问题

OUC图书馆电脑连手机热点 前言手动脚本&#xff08;暂未测试&#xff09;注意 前言 【中国海洋大学】OUC图书馆电脑默认只能有线连校园网&#xff0c;这让没有校园网的人很是头疼&#xff08;手机流量太多了&#xff0c;根本用不完&#xff0c;需要大流量卡的可以私信我&#…

在Android设备丢失数据后恢复数据的4个方法

了解 Android 媒体存储 媒体存储是下载、查看、播放和流式传输视频文件、音频文件、图像和其他媒体文件时所需的过程。此服务无法从手机桌面访问&#xff0c;因此您需要按照以下步骤通过安卓手机访问此系统服务。 步骤1&#xff1a;导航到手机设置&#xff0c;然后转到应用程…

Flink中基于Chandy-Lamport算法的分布式快照实现详解

Apache Flink利用了一种基于Chandy-Lamport分布式快照算法的变体——异步屏障快照&#xff08;Asynchronous Barrier Snapshotting, ABS&#xff09;来实现其强大的容错机制。Chandy-Lamport算法最初由K.M. Chandy和Leslie Lamport于1985年提出&#xff0c;是一种用于分布式系统…

linux shell脚本追踪与调试命令之sh

linux shell脚本在执行之前,大家就怕出问题,该如何调试呢?我们有没有办法不需要通过直接执行该脚本就判断是否有问题呢?当然有,那就是sh命令。 1.sh用法 sh [参数] shell.sh sh命令参数 参数说明-n不需要执行脚本,仅查询语法问题-v在执行脚本前,先将脚本的内容输出到…

初识鸿蒙之ArkTS基础

前言 学习一种应用程序开发&#xff0c;需要从这种程序的开发语言开始&#xff0c;比如说Android开发从入门到放弃&#xff0c;肯定是从Java基础或者是Kotlin语言基础开始学习的&#xff0c;IOS程序开发也肯定是从object-c开始学习的。鸿蒙软件开发也不例外&#xff0c;如果做…

【scikit-learn003】K近邻ML模型实战及经验总结(更新中)

1.一直以来想写下基于scikit-learn训练AI算法的系列文章&#xff0c;作为较火的机器学习框架&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架K近邻&#xff08;K-Nearest Neighb…

机器学习(五) ----------集成学习(1)(集成学习思想+随机森林算法)

目录 1 核心思想 2 集成学习思想分类 2.1 Bagging&#xff08;Bootstrap aggregating&#xff09; 2.1.1 基本思想 2.1.2 特点 2.1.3 优点&#xff1a; 2.1.4 缺点&#xff1a; 2.2 Boosting&#xff08;Boosting Method&#xff09; 2.2.1 基本思想 2.2.2 特点 2.2.…

Vue3+TS实现将html或富文本编辑器转为Word并下载

说明&#xff1a;我用的富文本编辑器是wangEditor&#xff1a; wangEditor官网 安装 yarn add wangeditor/editor # 或者 npm install wangeditor/editor --save yarn add wangeditor/editor-for-vuenext # 或者 npm install wangeditor/editor-for-vuenext --save yarn add …

Git版本控制工具的原理及应用详解(二)

本系列文章简介&#xff1a; 随着软件开发的复杂性不断增加&#xff0c;版本控制成为了开发团队中不可或缺的工具之一。在过去的几十年里&#xff0c;版本控制工具经历了各种发展和演变&#xff0c;其中Git无疑是目前最受欢迎和广泛应用的版本控制工具之一。 Git的出现为开发者…

金万维动态域名小助手怎么用?

金万维动态域名小助手是一个域名检测工具&#xff0c;使用此工具可以进行检测域名解析是否正确、清除DNS缓存、修改DNS服务器地址及寻找在线客服&#xff08;仅支持付费用户&#xff09;等操作。对不懂网络的用户是一个很好的检测域名的工具&#xff0c;下面我就讲解一下金万维…