个人git笔记,持续学习并补充填写

news2024/12/24 20:56:28
git --version //查看git版本信息
sudo yum remove git -y //卸载git

sudo yum install git -y//安装git

该文章仅仅是为了方便个人日常观看,有些地方没有做详细介绍

git init

创建本地仓库(最好先创建一个目录,在该目录下输入指令创建git仓库),创建完成后该目录下会存在一个.git文件

仓库配置

git config user.name "xxxxx"      //设置用户名称
git config user.email "xxx@.xxx"  //设置email地址
git config -l                     //查看当前仓库配置

git config --unset user.name      //删除用户名
git config --unset user.email     //删除email

git config --global color.ur true  //打开git的默认颜色配置
git config --global color.ur false //关闭颜色配置

配置时可以加上--global选项,加上后设置的具有全局属性,该机器下的所有仓库都是用该设置,在删除全局属性时也要加上--global

//配置全局信息
git config --global user.name "xxx"
git config --global user.email "xxxx"

//删除全局配置
git config --global --unset user.name
git config --global --unset user.email

仓库信息

工作区:仓库目录下的除.git文件之外的文件都处在工作区

暂存区:将工作区的文件进行git add filename 后,处在工作区的filename就会提交到暂存区,对应.git文件下的index。

版本库:输入commit -m "xxxxxx" 后,会将暂存区的内容提交到版本库。此时在.git目录下还会有一个objects,该目录下的内容都是一个个的commit对象。

 查看信息

git log                   //查看commit信息
git log --pretty=oneline  //更加优雅的显示信息

 git 追踪管理的是修改(增删查改)。

git status                //查看仓库状态,上一次提交到现在是否发生修改
git diff filename         //查看暂存区和工作区filename文件的差异
git diff HEAD -- filename //查看版本库和工作区filename文件的差异

git cat-file -p id        //查看commit id索引的内容


//工作区的内容修改完后,如果想提交到版本库要进行add commit相关操作 
git add filename       //将filename添加到暂存区
git commit -m "xxx"    //将暂存区的内容提交到版本库

版本回退

git reset --soft xxxxx    //只回退版本库的内容,回退到指定commit的id索引处
git reset --mixed xxxx    //回退版本库和暂存区的内容,回退到指定id,该选项为默认选项
git reset --hard xxxx     //工作区、暂存区、版本库的内容都进行回退,慎用

//回退后git log也随之回退

git reflog                //记录本地每一次的提交记录,可以根据里查看id,帮助回退

撤销操作

//只撤回工作区的内容
git checkout -- filename //撤销当前工作区的filename的内容,保持与版本库一致(当修改代码,又后悔了后想回到修改之前时使用)

//撤回工作区和暂存区的内容(即修改文件后,只进行了add)
git reset --mixed HEAD    //HEAD:当前版本库的内容,这里先将暂存区回退到当前版本库的内容
                          //HEAD^:上一个版本库
                          //HEAD^^:上两个版本库的内容...
git checkout -- filename  // 然后再撤回工作区的内容

//撤回工作区、暂存区、版本库的内容
git reset --hard xxx(HEAD版本或者其它版本)      //使用--hard即可实现

删除版本库的文件

1、rm指令删除文件,然后git add 文件名 ,再git commit -m "xxxx"

2、git rm filename  ,然后再git commit -m "xxxxx"

git分支管理

创建/切换/删除 分支

.git中HEAD指针指向master分支,master中存放最近提交一次的commit索引。

git branch            //查看当前库的分支   *表示当前所在分支
git branch xxx        //创建xxx分支
git checkout xxx      //切换到xxx分支(即修改HEAD指向,xxx分支指向最新一次commit)
git merge xxx         //将xxx分支合并
//利用分支操作比直接使用master分支更加安全

git branch -d xxx     //删除xxx分支

分支冲突

git checkout -b xxx //新建xxx分支,并切换到该分支

场景:

当前master中存在一个文件readme,它的版本库内容为:aaa

此时我我们创建并切换到一个新分支dev,在该分支下修改工作区的readme的内容,新增一行bbb,并提交到版本库。

此时再切换回master分支,然后对master下的readme进行修改,新增一行ccc,然后再提交到版本库。此时进行合并,则会发生错误。

git log --graph --abbrev-commit   //图形化形式显示分支信息

分支的切换实际上就是更改HEAD的指向,并将分支的内容修改成最近一次提交的commit id。所以很高效。


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

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

相关文章

DETR系列:RT-DETR 论文解析

论文:《DETRs Beat YOLOs on Real-time Object Detection》 2023.4 DETRs Beat YOLOs on Real-time Object Detection:https://arxiv.org/pdf/2304.08069.pdf 源码地址:https://github.com/PaddlePaddle/PaddleDetection/tree/develop/conf…

MybatisPlus 用法

MybatisPlus 用法--wrapper的用法 MybatisPlus 原理常见wrapper的用法eq等值查询 与 ne不等值查询gt 大于 与 ge 大于等于、lt小于与le小于等于between 在某个区间内 与 notBetween不在某个区间内in在范围内的值 与 notIn不在范围内的值inSql、notInSql(几乎用不到)orderBy、o…

Android——基本控件(下)(十五)

1. 对话框:Dialog 1.1 知识点 (1)掌握对话框的主要作用; (2)可以使用AlertDialog和AlertDialog.Builder进行对话框的建立; (3)可以通过LayoutInflater进行定制对话框…

前端JavaScript入门-day02

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一.运算符 1.1 赋值运算符 1.2 一元运算符 自增运算符的用法: 1.3 比较运算符 比较运算符…

超越竞争,使用Framework技术赢得市场份额

Framework为什么这么重要? 在Android开发中,Framework(框架)是非常重要的,因为它提供了一套已经实现的软件组件和工具,以支持开发者构建应用程序。以下是Framework在Android开发中的重要性: 提…

云服务器到期,站点迁移,Nginx配置SSL以备后续只需!

导言 笔者小站:秋码分享 在这三年中,其实远不止这三年,可追溯到2014年前后,个人站点便逐渐走向末路。但却总有新的个人博客网站,在这片互联网海洋漂浮着,或许是为了心中的梦想,亦或是记录着工作…

Kafka 从安装到应用

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

MySQL实战解析底层---幻读是什么,幻读有什么问题?

目录 前言 幻读是什么? 幻读有什么问题? 如何解决幻读? 前言 为了便于说明问题,这一篇文章,就先使用一个小一点儿的表建表和初始化语句如下: 这个表除了主键id外,还有一个索引c&#xff0c…

web值控制标签的显示与隐藏、document、getElementById、style、css、hidden、display、visibility

文章目录 方式一方式二方式三visibility小结 方式一 使用HTML的hidden属性,隐藏后不占用原来的位置 hidden属性是一个Boolean类型的值,如果想要隐藏元素,就将值设置为true,否则就将值设置为false 选取id为test的元素 let test do…

“事后达尔文”—— 游戏业务效果评估方法实践

作者:vivo 互联网数据分析团队 Luo Yandong、Zhang Lingchao 本文介绍了互联网业务数据效果评估的几种常见问题及方法,并基于分层抽样的逻辑优化出一套可应用于解决用户不均匀的“事后达尔文"分析法,可适用于无法AB测试或人群不均匀的AB…

VCO的设计

理想振荡器只有电感和电容,会一直振荡下去。但是实际的振荡器存在一定的寄生电阻并联在RC两端,会使振幅变小。因此需要RC旁边再并联一个负电阻以此来抵消寄生电阻的影响。一般会选择负阻提供的能量为寄生电阻能量的的2-3倍。如果负阻跟RC并联&#xff0c…

剖析float相加产生精度损失的原因

float相加产生精度损失的原因 一、什么是float类型及其特点1.1、float类型的定义和使用方法1.2、float类型的特点,包括精度限制 二、为什么会出现float相加精度损失2.1、计算机二进制存储浮点数的方式2.2、浮点数运算中的舍入误差2.3、累加多个小数时的误差累积 三、…

kali中Metasploit基本使用方法

1.kali启动postgresql并设置开机自启动 systemctl start postgresql.servicesystemctl enable postgresql.service2.kali启动Metasploit 方式一:应用程序 -> 漏洞利用工具集 -> Metasploit framework 方式二: msfconsole 3. Metasploit常用命令 connect 命令 连接远程主…

Qt信号槽之connect介绍(上)

关于Qt信号槽中connect与disconnect介绍 首先我们要知道,如果想要使用Qt中的信号槽机制, 那么必须继承QObject类,因为QObject类中包含了信号槽的一系列操作,今天我们来讲解的是信号与槽怎么建立连接以及断开连接。 一、connect …

在windows server上用Mosquitto软件创建MQTT服务器

今天下午捣鼓了半天,在云服务器上面创建了个MQTT服务器,然后用MQTTX软件进行了测试。过程记录如下: 1、下载mosquitto软件,链接如下图: 2、下载完成后安装,一直点下一步下一步就好了。 3、在安装路径下&am…

快速捡回使用workbench控制mysql创建数据库的基本步凑

首先如果,不想要在原来已经建好的数据库下建立数据表,可以新建数据库。 具体操作步凑如下: 选择后如下所示: 有现成的创建代码的话,就直接复制执行现成的创建代码即可,如果没有现成的创建代码的话&#xff…

Java设计模式之单例模式-【懒汉式与饿汉式】

1、单例,模式 单例模式属于创建型模式的一种,应用于保证一个类仅有一个实例的场景下,并且提供了一个访问它的全局方法 单例模式的特点:从系统启动到终止,整个过程只会产生一个实例。单例模式常用写法:懒汉…

STM32设置为I2C从机模式

STM32设置为I2C从机模式 目录 STM32设置为I2C从机模式前言1 硬件连接2 软件编程3 运行测试3.1 I2C连续写入3.1 I2C连续读取3.1 I2C单次读写测试 4 总结 前言 STM32的I2C作为主机的情况相信很多同学都用过,网上也有很多教程,但是作为从设备使用的例子应该…

【C++ 程序设计】第 9 章:函数模板与类模板

目录 一、函数模板 (1)函数模板的概念 (2)函数模板的示例 (3)函数或函数模板调用语句的匹配顺序 二、类模板 (1)类模板概念 (2)类模板示例 &…

阵列模式综合第三部分:深度学习(附源码)

一、前言 这个例子展示了如何设计和训练卷积神经网络(CNN)来计算产生所需模式的元素权重。 二、介绍 模式合成是阵列处理中的一个重要课题。阵列权重有助于塑造传感器阵列的波束图案,以匹配所需图案。传统上,由于空间信号处理和频…