Git初识

ops/2024/10/10 17:55:31/

Git仓库

Git概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码

作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容


Git仓库:记录文件状态内容的地方,存储着修改的历史记录

创建:

  1. 把本地文件夹转换成Git仓库:命令git init
  2. 从其他服务器上克隆Git仓库

示例:首先切换到Git Bash终端(要提前下载好Git安装)                                                                            

输入命令出现.git文件夹,但是一般是隐藏的

Git的三个区域

Git使用时:

工作区:实际开发时操作的文件夹

暂存区:保存之前的准备区域(暂存改动后的内容)

版本库:提交并保存暂存区中的内容,产生一个版本快照 

命令:

命令作用
git add 文件名暂存指定的文件
git add .暂存所有改动的文件
git commit -m  "注释说明"提交并保存,产生版本快照
git ls-files查看当前项目下暂存了哪些文件
git log --oneline查看所有提交历史
git reflog --oneline查看完整日志

Git文件状态

Git文件的两种状态:

  • 未跟踪:新文件,从未被git管理过
  • 已跟踪:git已经知道和管理的文件

查看暂存区和工作区状态的命令:git status -s 

文件状态概念场景
未跟踪(U)从未被git管理过新文件
新添加(A)第一次被git管理之前版本记录无此文件
未修改(' ')三个区域统一提交保存后
已修改(M)工作区内容发生变化修改内容产生

示例:

移入一个新的文件夹,此时状态是U

                                         

再将它移到暂存区,状态变为A:

               

                                          

然后修改了html里面的内容:

                                           

最后提交保存:

再次查看状态。发现没有没变化的文件了 

       

                                              

Git暂存区的使用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦

也可以使用git restore命令,将暂存区的内容覆盖掉工作区的内容,如果想要移除掉暂存区的文件,使用命令git rm --cashed目标文件

Git回退版本

概念:把版本库某个版本对应的内容快照,恢复到工作区或暂存区

回退命令:

  • git reset --soft 版本号   (其他文件未跟踪)
  • git reset --hard  版本号
  • git reset --mixed 

删除文件 

想要删除不需要的文件时,除了手动删除工作区文件,还要暂存造成暂存区的变更,再提交保存至版本库,也就是删除工作区的文件后,都需要使用git add .

忽略文件

概念:.gitignore文件可以让git彻底忽略跟踪指定文件

目的:让git仓库更小更快,避免重复无意义的文件管理

创建:

项目根目录新建 .gitignore

填入相应配置来忽略指定文件

 分支

概念:本质上是指向提交节点的可变指针,默认名字是master

注意:HEAD指针影响工作区/暂存区的代码状态

创建分支命令:gir branch   分支名

切换分支命令:git checkout   分支名

合并其他分支:git merge  分支名

删除分支指针:git branch -d  分支名


http://www.ppmy.cn/ops/123599.html

相关文章

在使用visual studio 2022,运行程序时弹窗:“ 此任务要求应用程序具有提升的权限“

系列文章目录 文章目录 系列文章目录前言一、问题原因二、解决方法1.第一种解决方法2.第二种解决方法 前言 在使用visual studio 2022,运行程序时弹窗:" 此任务要求应用程序具有提升的权限",每次都要再次点击“使用其他凭证重新启…

基于阻塞队列及环形队列的生产消费模型

目录 条件变量函数 等待条件满足 阻塞队列 升级版 信号量 POSIX信号量 环形队列 条件变量函数 等待条件满足 int pthread_cond_wait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex); 参数: cond:要在这个条件变量上等待 mutex…

C++——继承

目录 引言 继承的概念和定义 1.继承的概念 2.继承的定义 2.1 继承的语法形式 2.2 继承中类的叫法 2.3 继承后的子类成员访问权限 基类与派生类的赋值转换 1.派生类对象赋值给基类对象 2.派生类对象的引用赋值给基类对象 3.派生类对象的指针赋值给基类对象 4.基类指…

jpa String index out of range: 0

ORM Spring Data Jpa 查询报错信息 原因:数据库字段设置为char类型,但是该字段为空字符串 参考:https://stackoverflow.com/questions/24380846/hibernate-sql-exception-java-lang-stringindexoutofboundsexception-string-index java.lang…

CentOS 7 上安装 Kibana

以下是在 CentOS 7 上安装 Kibana 的步骤: 一、安装 Java(如果尚未安装) Kibana 需要 Java 运行环境。如果系统中没有安装 Java,可以使用以下命令安装 OpenJDK: sudo yum install java-1.8.0-openjdk二、添加 Elast…

为什么numpy.array的数据像是字典一样,但是这个数据有real属性,又无法读取shape,显示0-d array

根据您提供的信息,您似乎在处理一个0维的NumPy数组,也称为标量。在NumPy中,0维数组是一个只有一个元素的数组,它没有行和列的结构,只包含一个值。这个值可以是任何数据类型,包括整数、浮点数或字符串。 当…

华为---MUX VLAN简介及示例配置

目录 1. 产生背景 2. 应用场景 3. 主要功能 4. 基本概念 5. 配置步骤及相关命令 6.示例配置 6.1 示例场景 6.2 网络拓扑图 6.3 配置代码 6.4 配置及解析 6.5 测试验证 配置注意事项 1. 产生背景 MUX VLAN(Multiplex VLAN)提供了一种通过VLA…

运用MinIO技术服务器实现文件上传——在Linux系统上安装和启动(一)

# MinIO 单机版环境搭建详解 ## 1. 简介 随着大数据时代的到来,数据存储的需求日益增大,如何有效地存储和管理大规模的非结构化数据成为许多企业和开发者面临的挑战。MinIO 作为一个高性能、分布式对象存储系统,致力于为用户提供简单、快速…